Integrating CUDA memory management mechanisms for domain decomposition of an acoustic wave kernel implemented in OpenMP

  • Yuri Nicolau Freire UFSCar
  • Hermes Senger UFSCar

Abstract


OpenMP is a well-known tool for parallelizing code in a directive-based programming model. While it has been extended to include support for offloading for devices such as GPUs, multi-gpu programming using data map directives requires redundant data allocation and non-intuitive data synchronization. This paper studies an alternative implementation of a CUDA-OpenMP hybrid kernel using native Unified Virtual Addressing memory pointers in an OpenMP target kernel.

References

Freire de Souza, J., Moreira, J. B. D., Roberts, K. J., di Ramos Alves Gaioso, R., Gomi, E. S., Silva, E. C. N., and Senger, H. (2022). simwave – a finite difference simulator for acoustic waves propagation. arXiv.org.

Nvidia (2023). Cuda runtime api :: Cuda toolkit documentation. [link]. Last accessed on 22nd April, 2023.

OpenMP (2021). Openmp application programming interface specification version 5.2. [link]. Last accessed on 3rd April, 2023.

Virieux, J. and Operto, S. (2009). An overview of full-waveform inversion in exploration geophysics. Geophysics, 74(6):WCC1–WCC26.
Published
2023-07-17
FREIRE, Yuri Nicolau; SENGER, Hermes. Integrating CUDA memory management mechanisms for domain decomposition of an acoustic wave kernel implemented in OpenMP. In: REGIONAL SCHOOL OF HIGH PERFORMANCE COMPUTING FROM SÃO PAULO (ERAD-SP), 14. , 2023, São José dos Campos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 21-24. DOI: https://doi.org/10.5753/eradsp.2023.231895.

Most read articles by the same author(s)