27403

Tausch: A halo exchange library for large heterogeneous computing systems using MPI, OpenCL, and CUDA

Lukas Spies, Amanda Bienz, David Moulton, Luke Olson, Andrew Reisner
Department of Computer Science, University of Illinois Urbana-Champaign, Urbana, IL
Parallel Computing, 2022

@article{spies2022tausch,

   title={Tausch: A halo exchange library for large heterogeneous computing systems using MPI, OpenCL, and CUDA},

   author={Spies, Lukas and Bienz, Amanda and Moulton, David and Olson, Luke and Reisner, Andrew},

   journal={Parallel Computing},

   pages={102973},

   year={2022},

   publisher={Elsevier}

}

Exchanging halo data is a common task in modern scientific computing applications and efficient handling of this operation is critical for the performance of the overall simulation. Tausch is a novel header-only library that provides a simple API for efficiently handling these types of data movements. Tausch supports both simple CPU-only systems, but also more complex heterogeneous systems with both CPUs and GPUs. It currently supports both OpenCL and CUDA for communicating with GPGPU devices, and allows for communication between GPGPUs and CPUs. The API allows for drop-in replacement in existing codes and can be used for the communication layer in new codes. This paper provides an overview of the approach taken in Tausch, and a performance analysis that demonstrates expected and achieved performance. We highlight the ease of use and performance with three applications: First Tausch is compared to the halo exchange framework from two Mantevo applications, HPCCG and miniFE, and then it is used to replace a legacy halo exchange library in the flexible multigrid solver framework Cedar.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: