Scholay

学术搜索 · AI 审稿 · LaTeX 协作

RAJA: Portable Performance for Large-Scale Scientific Applications

作者:David Beckingsale, Tom Scogland, Jason Burmark, Rich Hornung, Holger E. Jones, William Killian, Adam Kunen, Olga Pearce, Peter Robinson, Brian Ryujin · 年份:2019 · 被引用次数:278 · 研究领域:Parallel Computing and Optimization Techniques、Distributed and Parallel Computing Systems、Advanced Data Storage Technologies

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.