29517

On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures

Nathaniel Morgan, Caleb Yenusah, Adrian Diaz, Daniel Dunning,Jacob Moore,Erin Heilman, Calvin Roth, Evan Lieberman, Steven Walton, Sarah Brown, Daniel Holladay, Marko Knezevic, Gavin Whetstone, Zachary Baker, Robert Robey
Engineering Technology & Design Division, Los Alamos National Laboratory, Los Alamos
Information, Volume 15, Issue 11, 2024

@article{morgan2024simplified,

   title={On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures},

   author={Morgan, Nathaniel and Yenusah, Caleb and Diaz, Adrian and Dunning, Daniel and Moore, Jacob and Heilman, Erin and Roth, Calvin and Lieberman, Evan and Walton, Steven and Brown, Sarah and others},

   journal={Information},

   volume={15},

   number={11},

   pages={673},

   year={2024},

   publisher={MDPI}

}

Download Download (PDF)   View View   Source Source   Source codes Source codes

Package:

539

views

This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: