National Center for Supercomputing Applications WordPress Master Calendar

View Full Calendar

NCSA staff who would like to submit an item for the calendar can email newsdesk@ncsa.illinois.edu.

CS COMPILER SEMINAR: Ajay Brahmakshatriya, "Democratizing High-Performance DSL Development with BuildIt"

Event Type
Seminar/Symposium
Sponsor
CS Compilers Area
Location
Room 3124 (Siebel)
Date
Nov 11, 2024   2:00 - 3:00 pm  
Speaker
Ajay Brahmakshatriya
Views
5
Originating Calendar
Siebel School Speakers Calendar

CS Compiler Seminar: Please join us on Nov 11, 2024, from 2-3pm in the Room 3124 (Siebel) where Ajay Brahmakshatriya will give a talk, “Democratizing High-Performance DSL Development with BuildIt”.  Please see their biography and abstract below:

Bio: Ajay Brahmakshatriya is a 7th-year PhD student advised by Prof. Saman Amarasinghe at CSAIL, MIT. His research interests are making it easier for folks to create their own programming languages with focus on high-performance systems domains. In the past, he has worked on DSLs for domains like graphs and networks targeting a variety of architectures like CPUs, GPUs and domain-specific hardware. His current work on BuildIt makes the process of designing and implementing DSLs easier while also providing other toolchain support like debugging.

Abstract: Today, applications that require high performance rely on libraries of hand-optimized kernels, with thousands available across various domains and architectures, while Domain-Specific Languages (DSLs) and their accompanying compilers remain relatively rare. A well-designed DSL can describe a much wider variety of programs within a given domain than even the most comprehensive library, while also unlocking powerful cross-function and global domain-specific optimizations that hand-optimized kernels cannot achieve. However, building high-performance DSLs is complex and time-consuming, often requiring compiler experts to devote years to development. In this talk, I will introduce BuildIt, a C++ framework designed for the rapid prototyping of high-performance DSLs. BuildIt uses a multi-stage programming approach to combine the flexibility of libraries with the performance and specialization of code generation. With BuildIt, domain experts can transform existing libraries into efficient, specialized compilers simply by modifying the types of variables. Moreover, it allows them to implement analyses and transformations without needing to write traditional compiler code. Currently, BuildIt supports code generation for multi-core CPUs and GPUs, with FPGA support coming soon. I will also showcase three DSLs created with BuildIt to highlight their power and ease of use: a reimplementation of the GraphIt graph computing language, the BREeze DSL for regular expressions, and NetBlocks, a DSL for custom network protocol development.

 

 

link for robots only