Aurora Learning Paths: Performance, Portability, and Productivity

Aurora Learning Paths Image

The ALCF is partnering with Intel to host Aurora Learning Paths, a new training series designed to help attendees advance the development of applications for Argonne's upcoming Intel-HPE exascale supercomputer.

Developers of high-performance computing applications are faced with an increasingly diverse number of computing platforms featuring multiple generations of CPUs, GPUs, and FPGAs. Developing code that is performant and portable across a diverse set of platforms is expensive in terms of time spent trying to achieve the best results.

This hands-on learning series will explore the use of oneAPI and Data Parallel C++ (DPC++), Intel’s open source implementation of SYCL, to demonstrate methods to achieve performant, portable code across five different platforms available on the Intel Devcloud.

We define Performance, Portability, and Productivity as:

  • Performance: Measurable quantity representing a characteristic of an application run on a platform. Typically, throughput or time-to-solution. We often express it as a percentage of peak performance on platforms.
  • Portability: Ability of application to run correctly on different platforms.
  • Productivity: The ratio of application code output to the invested development effort, where application code output represents features, optimizations, maintenance, etc.