,
Lev Denisov
,
Daniele Cattaneo
,
Giovanni Agosta
,
Stefano Cherubin
Creative Commons Attribution 4.0 International license
Precision tuning is an increasingly common approach for exploiting the tradeoff between energy efficiency or speedup, and accuracy. Its effectiveness is particularly strong whenever the maximum performance must be extracted from a computing system, such as embedded platforms. In these contexts, current engineering practice sees a dominance of memory-unsafe programming languages such as C and C++. However, the unsafe nature of these languages has come under great scrutiny as it leads to significant software vulnerabilities. Hence, safer programming languages which prevent memory-related bugs by design have been proposed as a replacement. Amongst these safer programming languages, one of the most popular has been Rust. In this work we adapt a state-of-the-art precision tuning tool, TAFFO, to operate on Rust code. By porting the PolyBench/C benchmark suite to Rust, we show that the effectiveness of the precision tuning is not affected by the use of a safer programming language, and moreover the safety properties of the language can be successfully preserved. Specifically, using TAFFO and Rust we achieved up to a 15× speedup over the base Rust code, thanks to the use of precision tuning.
@InProceedings{magnani_et_al:OASIcs.PARMA-DITAM.2024.4,
author = {Magnani, Gabriele and Denisov, Lev and Cattaneo, Daniele and Agosta, Giovanni and Cherubin, Stefano},
title = {{Precision Tuning the Rust Memory-Safe Programming Language}},
booktitle = {15th Workshop on Parallel Programming and Run-Time Management Techniques for Many-Core Architectures and 13th Workshop on Design Tools and Architectures for Multicore Embedded Computing Platforms (PARMA-DITAM 2024)},
pages = {4:1--4:12},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-95977-307-2},
ISSN = {2190-6807},
year = {2024},
volume = {116},
editor = {Bispo, Jo\~{a}o and Xydis, Sotirios and Curzel, Serena and Sousa, Lu{\'\i}s Miguel},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.PARMA-DITAM.2024.4},
URN = {urn:nbn:de:0030-drops-196989},
doi = {10.4230/OASIcs.PARMA-DITAM.2024.4},
annote = {Keywords: Approximate Computing, Memory Safety, Precision Tuning}
}