The BuildIt project was started in 2020 with the goal of making it possible for rapidly prototyping embedded DSLs using a multi-stage programming approach while targeting parallel CPUs, GPUs and now FPGAs. Our publications in the previous years demonstrated how BuildIt can be used to write DSLs that match the performance of state-of-the-art compilers with a small fraction of the development effort. Although BuildIt is targeted towards domain experts who have limited experience with compiler technology, it also greatly simplifies the development process for compiler experts allowing implementing analyses, transformations and code generations for various architectures with a fraction of lines of code as compared to traditional compilers. We believe this makes BuildIt a very interesting topic for not just PLDI attendees but also the co-located conferences.
BuildIt not only simplifies the process of implementing compilers but also provides other toolchain support like debugging. Our recent paper at GGO 2023 that was awarded a distinguished paper award demonstrates how rich and customizable debugging support can be added to DSLs written with BuildIt without a single line of code change.
The tutorial will be completely hands-on, with presentations from the organizers and relevant skeleton code shared for development.
We also have some BuildIt swag for attendees :)
Requirements: Attendees are expected to have access to a computer with Linux or MacOS. Windows with WSL also works great. A system with CUDA enabled GPU (optional). Basic experience with C++ expected.