Structured platform-aware programming for Rust

  • Francisco Heron de Carvalho-Junior UFC
  • José Mykael Alves Nogueira UFC
  • João Marcelo Uchôa de Alencar UFC

Resumo


Structured platform-aware programming provides performance engineers with the ability to develop optimized function variants that exploit specific features of target execution platforms in a modular way. In this paper, we introduce and evaluate an approach for structured platform-aware programming with Rust, a systems programming language that has gained attention in HPC.

Palavras-chave: platform-aware programming, programming languages, Rust, high-performance computing

Referências

S. Apel, D. Batory, C. Kstner, and G. Saake. 2013. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer Publishing Company, Incorporated.

D. H. Bailey and et al. 1991. The NAS Parallel Benchmarks. International Journal of Supercomputing Applications 5, 3 (1991), 63–73.

F. H. de Carvalho Junior. 2024. The Expression Problem in Platform-Aware Programming. In XXVIII Brazilian Symposium on Programming Languages (SBLP’2024) (Curitiba, PR). SBC, Porto Alegre, Brazil.

F. H. de Carvalho Junior, A. B. Dantas, J. M. Hoffiman, T. Carneiro, C. S. Sales, and P. A. S. Sales. 2023. Structured Platform-Aware Programming. In XXIV Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD’2023) (Porto Alegre, RS). SBC, Porto Alegre, Brazil, 301–312.

A. Ernstsson and C. Kessler. 2020. Parallel Computing: Technology Trends. Advances in Parallel Computing, Vol. 36. IOS Press, Amsterdam, Chapter Multi-Variant User Functions for Platform-Aware Skeleton Programming, 475–484. DOI: 10.3233/APC200074

A. Grama, A. Gupta, J. Karypis, and V. Kumar. 2003. Introduction to Parallel Computing. Addison-Wesley. 256 pages.

H. Ha and H. Zhang. 2019. DeepPerf: Performance Prediction for Configurable Software with Deep Sparse Neural Network. In IEEE/ACM 41st International Conference on Software Engineering (ICSE). 1095–1106. DOI: 10.1109/ICSE.2019.00113

E. M. Martins, L. G. Faé, R. B. Hoffmann, L. S. Bianchessi, and D. Griebler. 2025. NPB-Rust: NAS Parallel Benchmarks in Rust. arXiv:2502.15536 [cs.DC] [link]

N. D. Matsakis and F. S. Klock II. 2014. The Rust Language. In ACM SIGAda Ada Letters, Vol. 34. ACM, 103–104. DOI: 10.1145/2692956.2663188

NVIDIA Corporation. 2024. CUDA C Programming Guide. NVIDIA. [link].

K. Rocki, M. Burtscher, and R. Suda. 2014. The Future of Accelerator Programming: Abstraction, Performance or CanWe Have Both?. In 29th Annual ACM Symposium on Applied Computing (Gyeongju, Korea). ACM, New York, NY, USA, 886––895.

N. Siegmund, A. Grebhahn, S. Apel, and C. Kästner. 2015. Performance-influence models for highly configurable systems. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (Bergamo, Italy) (ESEC/FSE 2015). Association for Computing Machinery, New York, NY, USA, 284–294. DOI: 10.1145/2786805.2786845

The Rust RFC Book. 2017. RFC 2045 - Target Features. [link]

N. C. Thompson and S. Spanuth. 2021. The decline of computers as a general purpose technology. Commun. ACM 64, 3 (Feb. 2021), 64–72. DOI: 10.1145/3430936

N. Vazou, E. L. Seidel, R. Jhala, D. Vytiniotis, and S. Peyton Jones. 2014. Refinement types for Haskell. In Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming (Gothenburg, Sweden) (ICFP’14). ACM, New York, NY, USA, 269–282. DOI: 10.1145/2628136.2628161

M. Velez, P. Jamshidi, N. Siegmund, S. Apel, and C. Kästner. 2021. White-Box Analysis over Machine Learning: Modeling Performance of Configurable Systems. In Proceedings of the 43rd International Conference on Software Engineering (Madrid, Spain) (ICSE’21). IEEE Press, 1072–1084. DOI: 10.1109/ICSE43902.2021.00100
Publicado
22/09/2025
CARVALHO-JUNIOR, Francisco Heron de; NOGUEIRA, José Mykael Alves; ALENCAR, João Marcelo Uchôa de. Structured platform-aware programming for Rust. In: SIMPÓSIO BRASILEIRO DE LINGUAGENS DE PROGRAMAÇÃO (SBLP), 29. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 51-58. DOI: https://doi.org/10.5753/sblp.2025.11166.