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

  • Yuri Nicolau Freire UFSCar
  • Hermes Senger UFSCar

Resumo


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.

Referências

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.
Publicado
17/07/2023
FREIRE, Yuri Nicolau; SENGER, Hermes. Integrating CUDA memory management mechanisms for domain decomposition of an acoustic wave kernel implemented in OpenMP. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DE 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.

##plugins.generic.recommendByAuthor.heading##