Skip to Content
Petascale Computing Institute
Agenda
Mon Tue Wed Thu Fri
Registration
includes list of Host Sites
Presenters
Resources
Instructions, Slides, Links
Additional Learning Resources
Registrant Locations

FAQ

Call For Host Sites

A/V Plan for Host Sites

Institute Organizers

Tuesday


MPI (continued)
Part 4/5
Part 5/5
Presenters: Giuseppe Congiu, Yanfei Guo, and Kenneth Raffenetti, Argonne National Laboratory.
Slides and Materials


Resources at NCSA
Presenter: William (Bill) Kramer, NCSA


Hybrid Programming (MPI + OpenMP)
Presenter: Galen Arnold, NCSA
Slides
Abstract:
Modern multi-core CPUs provide a large number of compute cores per compute nodes in a shared memory setup. Making efficient use shared memory parallelism can be used to both improve resource use on a compute node and to relieve communication pressure caused by many independent MPI ranks sending or receiving data. This section will cover using OpenMP+MP hybrid programming to improve scalability of codes and provide pointer to the do's and dont's of hybrid programming. Level of material: Introductory.


Survey of Libraries
Presenter: John E. Stone, UIUC
Abstract:
  • Benefits of libraries and frameworks
  • Exemplary libraries
  • Open vs. proprietary/commercial
  • State-of-the-art library technologies
  • Trade-offs, costs, and limitations of libraries and frameworks
  • Library usage dos and do nots


OpenACC
Presenter: Matt Norman, ORNL
Slides
Abstract
The OpenACC presentation will focus on practical aspects of the OpenACC specification and how to implement a GPU code with directives. Aspects such as data movement, GPU routines with parallel loop and kernels directives, asynchronicity, and more advanced topics will be covered. However, the focus will be on the practical process of moving from a typical CPU-based code toward a refactored code that runs efficiently on GPUs. This will include aspects such as managing CPU threading, exposing threading, efficient test-driven development, portability concerns, and debugging. A small OpenACC code will also be used for hands-on training, and a larger code will also be made available for those with the desire to see OpenACC in a slightly more realistic application.