Software Autotuning for Sustainable Performance Portability
Azamat Mametjanov, Boyana Norris

TL;DR
This paper presents an autotuning approach for scientific software that enhances performance and portability across diverse hardware platforms without sacrificing code modularity or correctness.
Contribution
It introduces an automated autotuning method that optimizes performance on various hardware while maintaining software modularity and correctness.
Findings
Achieves significant performance improvements on heterogeneous hardware.
Enables performance portability without modifying core software modules.
Maintains software correctness and modularity during autotuning.
Abstract
Scientific software applications are increasingly developed by large interdiscplinary teams operating on functional modules organized around a common software framework, which is capable of integrating new functional capabilities without modifying the core of the framework. In such environment, software correctness and modularity take precedence at the expense of code performance, which is an important concern during execution on supercomputing facilities, where the allocation of core-hours is a valuable resource. To alleviate the performance problems, we propose automated performance tuning (autotuning) of software to extract the maximum performance on a given hardware platform and to enable performance portability across heterogeneous hardware platforms. The resulting code remains generic without committing to a particular software stack and yet is compile-time specializable for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · Distributed systems and fault tolerance
