Enhancing DEVITO GPU Allocator Using Unified Memory by NVIDIA

  • Gustavo Araujo Alvaro Coelho
  • Atila Saraiva Quintela Soares
  • João Henrique Speglich
  • Marcelo Oliveira da Silva

Resumo

DEVITO is a framework whose objective is to implement optimized stencil computing. Its execution can be carried out both in the CPU and in GPU. For this reason, the data must be manipulated correctly so that, in case of executions in the GPU, they are present in the memory of the GPU at the time of the execution. Natively, DEVITO transfers data every time the operator is executed from OpenACC pragmas. This approach results in performance degradation when the operator is executed repeatedly. To prevent redundant copies and alleviate this bottleneck, an allocator based on unified memory was implemented, which makes manual data transfer between CPU and GPU unnecessary, significantly reducing data transfer time in GPU applications.

Publicado
2023-02-09