Tutor: Alistair Hart, Kevin Roy & Jason Beech-Brandt, Cray UK Ltd
Time and location: 10am-5pm, Not Scheduled Feb/Mar 2013. Training Room 3, Kilburn Building, The University of Manchester. Lunch provided.
About the Course
The current trend in the supercomputing industry is towards hybrid systems with accelerators attached to multi-core processors. The current Top500 list contains more than 50 systems with GPUs; ORNL and NCSA have plans to deploy large-scale hybrid systems by the end of 2012. The dominant programming models for accelerator-based systems (CUDA and OpenCL) offer the power to extract performance from accelerators, but with extreme costs in usability, maintenance, development, and portability. To be an effective HPC platform, these systems need a high-level software development environment to enable widespread porting and development of applications that run efficiently on either accelerators or CPUs. In this hands-on tutorial we present the high-level OpenACC parallel programming model for accelerator-based systems, demonstrating compilers and tools that support this cross-vendor initiative. Using personal experience in porting large-scale HPC applications, we provide development guidance, practical tricks, and tips to enable effective and efficient use of these hybrid systems.
Outline agenda (DRAFT)
10.00-10.20: Lecture 1: Introduction and brief review of GPUs 10.20-11.20: Lecture2: Introduction to the OpenACC programming model 11.20-11.45: Practical 1: Logging on, using the Cray XK6, compiling and running "Hello World" 11.45-12.00: Break and practical over-run 12.00-12.30: Lecture 3: Worked example using a simple code 12.30-13.00: Practical 2: Doing the worked example for yourselves 13.00-14.00: Lunch (buffet lunch is provided on this course) 14.00-14.30: Lecture 4: Using profiling for realistic applications 14.30-15.00: Practical 3: Using the profiling tools 15.00-15.45: Lecture 5: Advanced OpenACC topics (interoperability, performance tuning, etc.) 15.45-16.00: Summary and outlook
Pass the online UNIX primer quiz
- Knowledge of parallel programming techniques
Ability to write codes in FORTRAN and/or C/C++
Aware of the information given in the OpenCL Course Modules 1 and 2
- ALISTAIR HART is an Application Specialist with Cray UK Ltd. and part of the Cray Exascale Research Initiative Europe exploring programming models and system software for future exascale-class supercomputer architectures. Dr. Hart joined Cray's Exascale Research Initiative in Europe in 2010, after an academic career researching theoretical particle physics and lattice QCD using HPC. With Cray, he has been exploring how GPUs and other accelerators will be used in current and future generations of supercomputers. He has extensive experience in using OpenACC and other compiler directives in established HPC applications and communicates this experience to HPC users through multi-day hands-on tutorials, workshop talks and seminars and journal papers. He is currently developing this further as part of the EU-funded CRESTA exascale software project.