Structured platform-aware programming - Carvalho Junior, Francisco H. de; Dantas, Allberson B. de Oliveira; Mendes, Júlio H.; Carneiro, Tiago; Sales, Claro H. S.; Sales, Pedro A. F. de (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2023: Anais do XXIV Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/wscad.2023.235920, 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.