Domain-Specific Software, Hardware, and their Composition
Speaker: Fredrik Kjolstad, Assistant Professor, Computer Science Dept. Stanford University
Date: May 8, 2024
Computer scientists have always built libraries and languages to make it easy to express software in different domains. In the last decade, performance demands have dramatically increased due to more expensive uses of more data. To deliver this performance, we have developed sophisticated computing environments that embrace both distributed-memory computing and specialized domain-specific accelerators. These environments place a large burden on the software stack and increase the need for compilers to generate specialized software implementations to target different hardware and to increase locality through tiling and fusion.I will share my thoughts on designing programming systems for domain-specific computing environments, drawing on work from my group and elsewhere. These programming systems must raise the level of abstraction to sophisticated operations on abstract collections. (I think four such collections cover the lion’s share of large-scale computing.) By raising the level of abstraction and by introducing new compiler techniques, we can make the programming systems portable across different machines and different physical data structures. To manage complexity, compilers should target hardware-facing domain-specific abstract machines that separate software and hardware implementations. Finally, intermediate languages can also help us describe hardware to the compiler, so that we can target it without rewriting large parts of the compiler.
Bio: Fredrik Kjolstad is an Assistant Professor in Computer Science at Stanford University. He works on topics in compilers, programming models, and systems, with an emphasis on compiler techniques that make high-level languages portable. He has received the NSF CAREER Award, the MIT EECS Sprowls PhD Thesis Award, the Rosing Award, an Adobe Fellowship, a Google Research Scholarship, and several best/distinguished paper awards.