Philip Munksgaard

dblp:172/8815 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2022
0000-0001-9499-199XORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
GPUs and heterogeneous computing · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › domain-specific compilation
array language compilation
0.612022
Memory Optimizations in an Array Language · SC 2022
Compilers and program optimization
memory optimization
0.612022
Memory Optimizations in an Array Language · SC 2022
GPUs and heterogeneous computing › GPU programming
GPU code generation
0.612022
Memory Optimizations in an Array Language · SC 2022

Methods — techniques the papers use, named apart from their topics

linear memory access descriptors · 1.1change-of-layout transformations · 1.1
YearPublicationVenuePosition
2022 Memory Optimizations in an Array Language
abstract
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.
Philip Munksgaard, Troels Henriksen, P. Sadayappan, Cosmin E. Oancea
SC1