Structured platform-aware programming
Francisco Heron de Carvalho, Allberson Bruno de Oliveira Dantas, Júlio H. Mendes, Tiago Carneiro, Claro Henrique Silva Sales, Pedro A. F. de Sales · 2023
Platform-aware programming is a usual practice of HPC performance engineering programmers that is becoming more challenging due to the increasing heterogeneity of parallel computing platforms. In this paper, it is proposed a structured approach to platform-aware programming based on three concepts: platform typing, multiple dispatch, and feature detection. It has been implemented and evaluated through a proof-of-concept prototype built in Julia. It is evidenced that structured platform-aware programming provides better modularity and ease of maintenance with minor performance overhead.