James Thomas
MIT EECS - Keel Foundation Undergraduate Research and Innovation Scholar
A Tool for Profiling Parallel Cilk Applications
2014–2015
Charles E. Leiserson
ilk is a set of extensions to the C/C++ runtime that allows programmers to specify the logical parallelism in programs without having to worry about the details of managing threads and evenly distributing work across processor cores. Programs parallelized with Cilk attain high performance due to Cilk’s efficient work scheduling algorithms and minimization of thread creation and context switching overhead. However, one major impediment to the widespread adoption of Cilk (and other parallel programming frameworks) is the lack of a comprehensive profiling tool that helps programmers understand the critical (i.e. bottleneck) paths in their parallel programs and how they will be affected by changes to different functions. We develop such a tool in this work.
I was a UROP with Professor Leiserson in the spring of the 2013-2014 school year and did some initial work on this project. I have always been interested in research, having participated in research competitions as early as 7th grade and through high school.