General-Purpose Performance Portable Programming Models for Productive Exascale Computing

Date and time: 
Fri, Jun 5 2020 - 12:00pm to Sat, Jun 6 2020 - 11:45am
Alister Johnson
University of Oregon
  • Allen Malony (Chair)
  • Boyana Norris
  • Zena Ariola
  • Michael Wolfe¬†

Modern supercomputer architectures have grown increasingly complex and diverse since the end of Moore's law in the mid-2000s, and are far more difficult to program than their earlier counterparts. While HPC programming models have improved such that applications are now generally portable between architectures, their performance can still vary wildly, and developers now need to spend a great deal of time tuning or even rewriting their applications for each new machine to get the performance they need. New performance portable programming models aim to solve this problem and give high performance on all architectures with minimal effort from developers.

This area exam will survey many of these proposed general-purpose programming models, including libraries, parallel languages, directive-based language extensions, and source-to-source translators, and compare them in terms of use cases, performance, portability, and developer productivity. It will also discuss compiler and general-purpose language standards (e.g., C++) support for performance portability features.