Memory Optimizations in an Array Language

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

We present a technique for introducing and op-timizing the use of memory in a functional array language, aimed at GPU execution, that supports correct-by-construction parallelism. Using linear memory access descriptors as building blocks, we define a notion of memory in the compiler IR that enables cost-free change-of-layout transformations (e.g., slicing, transposition), whose results can even be carried across control flow such as ifs/loops without manifestation in memory. The memory notion allows a graceful transition to an unsafe IR that is automatically optimized (1) to mix reads and writes to the same array inside a parallel construct, and (2) to map semantically different arrays to the same memory block. The result is code similar to what imperative users would write. Our evaluation shows that our optimizations have significant impact (1.1 x -2 x) and result in performance competitive to hand-written code from challenging benchmarks, such as Rodinia's NW, LUD, Hotspot.

OriginalsprogEngelsk
TitelProceedings of SC 2022 : International Conference for High Performance Computing, Networking, Storage and Analysis
ForlagIEEE Computer Society Press
Publikationsdato2022
Sider1-15
Artikelnummer31
ISBN (Elektronisk)9781665454445
DOI
StatusUdgivet - 2022
Begivenhed2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022 - Dallas, USA
Varighed: 13 nov. 202218 nov. 2022

Konference

Konference2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022
LandUSA
ByDallas
Periode13/11/202218/11/2022
SponsorACM's Special Interest Group on High Performance Computing (SIGHPC), Association for Computing Machinery, IEEE Computer Society, IEEE's Technical Committee on High Performance Computing (TCHPC)

Bibliografisk note

Funding Information:
ACKNOWLEDGMENTS We are grateful to Niels G. W. Serup for his initial prototyping work related to memory optimizations. This work has been supported by the Independent Research Fund Denmark (DFF) under the grants FUTHARK: Functional Technology for High-performance Architectures and Monitoring Changes in Big Satellite Data via Massively Parallel AI, and by the UCPH Data-Plus grant: High-Performance Land Change Assessment.

Publisher Copyright:
© 2022 IEEE.

ID: 341477319