Grace Yin
MIT EECS | Advanced Micro Devices Undergraduate Research and Innovation Scholar
Bundling Variables in Auto-Parallelized Swarm Programs
2018–2019
EECS
- Computer Systems
Daniel Sanchez
Though multicores are widely used, multicore programming is difficult. Auto-parallelizing compilers attempt to solve this problem, but have limited success on existing hardware architectures. Swarm is a new multicore architecture with an execution model based on small tasks to be run in parallel, speculatively and out of order. For this project, we implement a new Swarm C/C++ compiler (SCC) optimization pass that bundles variables for efficient allocation. We privatize and pad variables to improve parallelism and reduce task overheads in SCC-compiled programs.
I’ m participating in SuperUROP because I’ m interested in multicore programming and looking to gain more research experience. I have taken 6.172 (Performance Engineering of Software Systems ) and 6.816 (Multicore Programming), which have given me a sense of the potential and limitations of multicore programming, making this project all the more exciting. I’ m looking forward to both working on the Swarm compiler and getting a fuller picture of what researching is like.