Compiling and running Cilk

To compile and run a Cilk program using OpenCilk, follow these two steps:

  1. Compile the Cilk program using the OpenCilk compiler by passing the additional -fopencilk compiler flag, then
  2. Run the resulting executable.

This page provides details on how to compile and run a Cilk program using OpenCilk.

Compiling a Cilk program

You can compile a Cilk program similarly to a C or C++ program by passing the additional -fopencilk flag to clang or clang++, respectively:

$ clang -o fib fib.c -fopencilk -O3

The OpenCilk compiler is based on a recent stable version of the clang compiler. It supports all compiler flags and features that the ordinary clang compiler supports, including optimization-level flags, debug-information flags, and target-dependent compilation options. See the Clang documentation for more information on the command-line arguments.

Running a Cilk program

To run the Cilk program, simply invoke the compiled executable binary:

$ ./fib 42

You can use the CILK_NWORKERS environment variable to run the Cilk program with a specific number of workers. The following example runs the fib executable using 8 Cilk workers:

$ CILK_NWORKERS=8 ./fib 42