Practical Exocompilation for Performance Engineers in
User-Schedulable Languages
Name
qian-keqian-meng-eecs-2024-thesis.pdf
Description
Thesis PDF
Size
631.62 KB
Format
Adobe PDF
Checksum (MD5)
ef7ee563e16ef61a9d515736ce20153c
Author(s)
Qian, Kevin
Advisor(s)
Ragan-Kelley, Jonathan
Date Issued
September 2024
Publisher
Massachusetts Institute of Technology
Abstract
High performance computing libraries provide efficient implementations of common computational kernels. Traditionally, such libraries are written in C or assembly. User-schedulable languages provide performance engineers a productive way to optimize these kernels with welldesigned interfaces which provide users control over performance-relevant decisions and automate unnecessary concerns. Often, this is a tradeoff: too much control with too little automation is tedious to program, and too much automation with too little control will hinder obtaining peak performance. The principle of exocompilation advocates for one end of the extreme: to give performance engineers maximal control over code execution so they can maximize performance, its current implementation in existing systems is impractical to use. This thesis broadly explores ways to make exocompilation a practical solution for performance engineers. We show that providing more control does not necessitate sacrificing automation, as long as the language is designed so that users can build their own automation. We explore the necessary design features to enable such a system, demonstrate the types of automation users can build in the system, and brainstorm ways to further push the amount of control user-schedule languages expose to the user.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
Copyright retained by author(s)
Persistent DSpace Link