Publication | Closed Access
RAJA: Portable Performance for Large-Scale Scientific Applications
263
Citations
6
References
2019
Year
Unknown Venue
Cluster ComputingEngineeringLarge Production CodesComputer ArchitectureEmbedded SystemsHigh Performance ComputingProcessor ArchitectureHardware SystemsHigh-performance ArchitectureComputing SystemsParallel ComputingCompilersMassively-parallel ComputingComputer EngineeringComputer ScienceOperating SystemsPortable PerformanceMany-core ArchitectureParallel ProgrammingModern High-performancePerformance PortabilityPortability Layer
Modern high-performance computing systems are diverse, with hardware designs ranging from homogeneous multi- core CPUs to GPU or FPGA accelerated systems. Achieving desir- able application performance often requires choosing a program- ming 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 re- quires 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 17×, 13× and 12× speedup on GPU-only over CPU- only nodes with single-source application code in each case.
| Year | Citations | |
|---|---|---|
Page 1
Page 1