Research and teaching with OpenCilk

The OpenCilk team presented the following tutorial at the SPAA 2020 Tutorial session on July 14, 2020.

Abstract

OpenCilk is a new open-source platform to support Cilk task-parallel programming in C/C++, aimed primarily at researchers and teachers of parallel computing. OpenCilk provides a full-featured implementation of Cilk, including a compiler based on Tapir/LLVM and a runtime system based on Cheetah, as well as integrated tools, including a race detector and a scalability analyzer. OpenCilk provides all the task-parallel features of Intel Cilk Plus. This tutorial should facilitate existing users of Cilk Plus to migrate to OpenCilk, and some familiarity with the Cilk language will be assumed.

The first half of the tutorial overviews the OpenCilk project, provides a look under the hood of the OpenCilk architecture, and describes the components and features. We will also discuss future development and solicit input from the audience about development priorities. The second half of the tutorial will be a hands-on session, where you can download a beta version of OpenCilk for Linux, BSD, and Mac OS X to experiment with running your existing Cilk codes on the new platform.

Slides

Video