Research Project Title:
Bundling Variables in Auto-Parallelized Swarm Programs
abstract: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.”