Compiler Requirements and Directions - PowerPoint PPT Presentation

About This Presentation
Title:

Compiler Requirements and Directions

Description:

... ppt/Masters/Master1.xml ppt/notesSlides/notesSlide7.xml ppt ... xml ppt/diagrams/layout1.xml ppt/diagrams/quickStyle1.xml ppt/tableStyles.xml ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 9
Provided by: hpcuse
Category:

less

Transcript and Presenter's Notes

Title: Compiler Requirements and Directions


1
Compiler Requirements and Directions
  • Rob Meyer
  • September 10, 2009

2
NAG in 30 Seconds
3
Q1. Language support for HPC
  • Provocative short answer We arent
  • Longer, politically correct answer but were
    working on it
  • Standard-compliant Fortran compiler using latest
    standards (2003)
  • OpenMP Library for nodes
  • MPI-based Library for loosely coupled systems
  • No magic wands (really)
  • Managing communications is the key to scalability
  • PGAS languages and other vendor libraries/tools
    will help but
  • application design (for communications) and
    data distribution will have a profound impact on
    scalability
  • MPI, hard as it is, survives for a reason
  • If this was easy wed be playing golf (or hanging
    out in the pub)

But co-arrays will be part of Fortran 2008
4
Q2. Performance Optimization
  • Provocative short answer We arent (again)
  • Longer, politically correct answer Were
    (still) working on it
  • Inter-process communication is still the critical
    issue
  • Hardware providers keep communication costs low
  • Programmers reduce communications
  • Dynamic optimization?
  • Potentially helpful along with a range of other
    techniques
  • Hardware-resource-aware middleware?
  • Ultimately, massively parallel performance will
    still depend more on the programmer than the
    compiler

5
Q3. Support for Heterogeneous cores?
  • A series of partial answers
  • OpenMP support for conventional cores
  • Linking to GPUs for appropriate code
  • Have built/tested equivalent routines for GPUs
  • Rhetorical question what if we are successful?
  • Portability of code?
  • Complexity of code?
  • Correctness of results?

6
Q4. Tools for serial code/parallel novices?
  • Not likely (that well do it)
  • Not likely to be successful in a broad, sustained
    fashion
  • Would we be better off using a community of
    experts to parallelize code and training the
    owners rather than trying to develop HPC for
    Dummies tools?

7
Q5 Support of pre-compiled libraries?
  • Our own
  • Expanding the number of routines optimized for
    multi/many core
  • Link to Intel, AMD, etc vendor libraries from our
    code where they have optimized for multi-core
  • Identifying options for updating/re-inventing
    MPI-based library

8
Some last thoughts
  • The landscape is getting more (not less) complex
  • Threading tools
  • Languages
  • Processor options
  • Another view If our objective is to produce more
    useful results in a given amount of time given
  • Hardware languages
  • User software
  • User expertise
  • Vendor/community software tools
  • Vendor/community people expertise?
  • Are we putting too much emphasis on compilers and
    tools?
  • Should we put more emphasis on training
    supporting users
Write a Comment
User Comments (0)
About PowerShow.com