Luka  Govedi

Luka Govedi

Scholar Title

MIT EECS | Hudson River Trading Undergraduate Research and Innovation Scholar

Research Title

Optimizing Parallel Loops in Cilk Using Loop Frames

Cohort

2020–2021

Department

EECS

Research Areas
  • Software Design and Programming Languages
Supervisor

Charles E. Leiserson

Abstract

Cilk is a C-language extension for parallel programming, which is supported by the OpenCilk compiler and the OpenCilk runtime system. It supports recursive fork-join parallelism, including parallel loops. Those are currently implemented via static binary splitting, which contains unnecessary overhead and has suboptimal cache-locality properties. In this project, I will continue my work on a different approach to parallelizing loops via dynamic splitting – the runtime-system frames only get split in the event of a steal. The milestones for my project will be: benchmarking and performance engineering the current prototype, implementing it in the Tapir/LLVM compiler extension, and implementing this protocol for nested loops, using multidimensional LoopFrames.

Quote

I chose SuperUROP because it will enable me to pursue my research topic further while providing me with guidance on paper-writing and approach. I am excited to continue work on this project because I’m passionate about performance engineering of software and because of the large-scale impact of my project. I am looking forward to learning even more about parallel algorithms and the Cilk runtime system as well as the research process.

Back to Scholars