OCL-PolyHok: DSL para GPGPU com abstrações de alto nível baseada em OpenCL

  • Henrique Gabriel Rodrigues UFPel
  • André Rauber Du Bois UFPel

Resumo


A programação de GPUs para propósitos gerais (GPGPU) oferece alto desempenho, mas impõe barreiras devido à complexidade de APIs de baixo nível, como CUDA e OpenCL. Este trabalho apresenta a OCL-PolyHok, uma versão da DSL PolyHok que substitui seu backend e biblioteca de runtime, antes baseados em CUDA, por uma implementação baseada no padrão aberto OpenCL. O objetivo é prover portabilidade para a linguagem de programação de GPUs em diferentes arquiteturas de hardware, mantendo sua expressividade funcional e recursos de alto nível. Testes experimentais com três benchmarks demonstraram que a OCL-PolyHok cumpriu seu objetivo de portabilidade e superou o desempenho da versão original em todos os cenários avaliados.

Referências

Du Bois, A. R. and Cavalheiro, G. (2025). Polymorphic higher-order GPU kernels. In Proceedings of the 31st International European Conference on Parallel and Distributed Computing. Springer Nature.

Kolesnichenko, A., Poskitt, C. M., Nanz, S., and Meyer, B. (2015). Contract-based general-purpose gpu programming. In Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE’15, page 75–84. ACM.
Publicado
06/05/2026
RODRIGUES, Henrique Gabriel; DU BOIS, André Rauber. OCL-PolyHok: DSL para GPGPU com abstrações de alto nível baseada em OpenCL. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DA REGIÃO SUL (ERAD-RS), 26. , 2026, Bagé/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2026 . p. 13-16. ISSN 2595-4164. DOI: https://doi.org/10.5753/eradrs.2026.21381.