SC19 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

RAJA: Portable Performance for Large-Scale Scientific Applications


Workshop: RAJA: Portable Performance for Large-Scale Scientific Applications

Abstract: Modern high-performance computing systems are diverse, with hardware designs ranging from homogeneous multi-core CPUs to GPU or FPGA accelerated systems. Achieving desirable application performance often requires choosing a programming model best suited to a particular platform. For large codes used daily in production that are under continual development, architecture-specific ports are untenable. Maintainability requires single-source application code that is performance portable across a range of architectures and programming models.

In this paper, we describe RAJA, a portability layer that enables C++ applications to leverage various programming models, and thus architectures - with a single-source codebase. We describe preliminary results using RAJA in three large production codes at Lawrence Livermore National Laboratory, observing 17x, 13x and 12x speedup on GPU-only over CPU-only nodes with single-source application code in each case.






Back to 2nd International Workshop on Performance, Portability, and Productivity in HPC (P3HPC) Archive Listing


Back to Full Workshop Archive Listing