OCL-PolyHok: DSL para GPGPU com abstrações de alto nível baseada em OpenCL
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.
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
Como Citar
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.
