Modern programming languages offer abstractions that simplify software development and allow hardware to reach its full potential.
These abstractions range from the well-established OpenMP language extensions to newer C++ features like smart pointers.
To properly use these abstractions in an existing codebase, programmers must determine how a given source code region interacts with Program State Elements (PSEs) (i.e., the program's variables and memory locations).
We call this process Program State Element Characterization (PSEC).
Without tool support for PSEC, a programmer's only option is to manually study the entire codebase.
We propose a profile-based approach that automates PSEC and provides abstraction recommendations to programmers.
Because a profile-based approach incurs an impractical overhead, we introduce the Compiler and Runtime Memory Observation Tool (CARMOT), a PSEC-specific compiler co-designed with a parallel runtime.
CARMOT reduces the overhead of PSEC by two orders of magnitude, making PSEC practical.
We show that CARMOT's recommendations achieve the same speedup as hand-tuned OpenMP directives and avoid memory leaks with C++ smart pointers.
From this, we argue that PSEC tools, such as CARMOT, can provide support for the rich ecosystem of modern programming language abstractions.
Tue 28 FebDisplayed time zone: Eastern Time (US & Canada) change
15:40 - 17:00 | Session 6 -- Tool and Practical Experience IIMain Conference at Montreal 1-2-3 Chair(s): Ayal Zaks Mobileye | ||
15:40 26mTalk | Bridging Control-Centric and Data-Centric Optimization Main Conference Tal Ben-Nun ETH Zurich, Berke Ates ETH Zurich, Alexandru Calotoiu ETH Zurich, Torsten Hoefler ETH Zurich DOI | ||
16:06 26mTalk | Parsimony: Enabling SIMD/Vector Programming in Standard Compiler Flows Main Conference Vijay Kandiah Northwestern University, Daniel Lustig NVIDIA, Oreste Villa NVIDIA, David Nellans NVIDIA, Nikos Hardavellas Northwestern University DOI | ||
16:33 26mTalk | Program State Element Characterization Main Conference Enrico Armenio Deiana Northwestern University, Brian Suchy Northwestern University, Michael Wilkins Northwestern University, Brian Homerding Northwestern University, Tommy McMichen Northwestern University, Katarzyna Dunajewski Northwestern University, Peter Dinda Northwestern University, Nikos Hardavellas Northwestern University, Simone Campanoni Northwestern University DOI |