MIT EECS | Keel Foundation Undergraduate Research and Innovation Scholar
Interoperability Between OpenCilk and Pthreads
- Software Design and Programming Languages
Charles E. Leiserson
My SuperUROP project works around investigating how to create a runtime Cilk system to combine p-threads with Cilk by leveraging work in the Supertech group on the Cilk runtime system. Cilk is a general-purpose programming language designed for multithreaded parallel computing. It is based on the C and C++ programming languages, which they extend with constructs to express parallel loops and the fork join idiom. Cilk was bought by Intel in the mid-2000s and was recently depreciated. While it was combined in the Intel technology for a long time, the depreciation opens an opportunity for the technology to become open-sourced. OpenCilk is the new system that will be coming out to the public in the next year or two. It aims to be an easy way to parallelize code in the C and C++ coding languages. By abstracting the users from the hardships of parallelism, it offers greater design decisions to be made by the developer beforehand and worry less about the implementation of the code itself.
“I am participating in SuperUrop because I want to gain more research experience in my major. I am interested in enabling other programmers to code more easily. I really enjoyed programming in 6.172 (Performance Engineering of Software Systems), and I want to continue using those skills to help other people.”