A growing number of scientific computing applications must deliver high performance on central and graphics processing unit (CPU and GPU) hardware platforms. Compute node architectures are becoming more complex and diverse than earlier generation platforms as hardware vendors strive to deliver performance gains while adhering to physical constraints, such as power usage. Moreover, DOE laboratories are procuring machines with GPUs from three different hardware vendors. This environment makes developing applications that can run efficiently on multiple platforms increasingly time consuming and difficult.
The RAJA Portability Suite is a collection of open source software libraries that enable developers to build portable high performance applications. RAJA provides software abstractions that enable portable parallel numerical kernel execution and memory management for computing platforms with heterogeneous memory systems, specifically the Umpire and CHAI libraries. Development is supported by LLNL’s ASC Program, the RADIUSS project, and the DOE Exascale Computing Project. Read more about RAJA’s capabilities on the LLNL Computing website.