15.1-pgas-1 - CS6230 HPC Tools and Applications Partitioned...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
CS6230 HPC Tools and Applications Partitioned Global Address Space (PGAS) Languages Jeffrey S. Vetter Computational Science and Engineering College of Computing Georgia Institute of Technology http://ft.ornl.gov/~vetter vetter@computer.org Some portions of this lecture are imported from Prof. Rich Vuduc and the Berkeley UPC team.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Motivation 100s (or 1000s) of programming languages and models exist In HPC, the community has settled on MPI, OpenMP, C, C++, and FORTRAN* in general Motivation varies but two main factors drive efforts for new languages and programming models Productivity Performance Limited by huge investments in legacy applications, V&V, and other concerns
Background image of page 2
3 Productivity Literally, how much time does it take a user to write a code to implement an idea? Idea computational solution to a scientific problem Implement build, debug, validate, tune, run, and analyze results DARPA HPCS High Productivity Computing Systems DARPA‟s multimillion dollar program was built around the idea of productivity Clearly it is very important But, productivity is subjective and difficult to measure Interviews with experts Classroom tests Sensor enabled software environments
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Performance Close the performance gap between realized performance MPI is explicit OpenMP, pthreads are „fairly‟ explicit Compilers and languages provide an opportunity for optimization between the application and the architecture Complex architectures need this support Performance transparency If the architectural details are hidden from the application, how can the compiler/runtime system describe good/bad performance (and fixes)?
Background image of page 4
5 Productivity v. Performance ?? Source: HPCS Program
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 MPI is a de facto success The programming model was already familiar (evolutionary is good). MPI is simple (yes!) It is portable to everything. It was a true community effort. Multiple vendors committed to it even before it was formulated. It has “performance transparency”: you can tell, to first order, what the performance consequences of algorithm and programming decisions will be and tools exist to help you figure out why your program isn‟t faster. It had some new features application programmers wanted Collective operations for convenience. Modularity to encourage portable library development Integrated parallel I/O (in MPI-2)
Background image of page 6
7 Alternative Languages Other languages targeting HPC have been (are being) developed to address these issues Partitioned Global Address Space languages UPC CoArray Fortran Titanium HPCS Languages Chapel, X10, Fortress
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
C. Bell, D. Bonachea, R. Nishtala, and K. Yelick, Berkeley UPC: http://upc.lbl.gov Advantages of GAS Languages • Productivity – GAS supports construction of complex shared data structures – High level constructs simplify parallel programming – Related work has already focused on these advantages
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 68

15.1-pgas-1 - CS6230 HPC Tools and Applications Partitioned...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online