The Cilk tool suite

Cilk supports a suite of tools for analyzing Cilk programs.

  • The Cilksan determinacy-race detector can be used to regression-test Cilk programs for determinism.

  • The Cilkscale scalability analyzer quantitatively measures the parallelism of a Cilk program.

Both Cilksan and Cilkscale are packaged with the Tapir/LLVM compiler. The Tapir/LLVM compiler also supports CSI, a framework that allows programmers to write dynamic-analysis tools that use compiler instrumentation without modifying the compiler.

The Cilksan determinacy-race detector

Cilksan is a provably good determinacy-race detector packaged with the Tapir/LLVM compiler. Given a Cilk program and an input — i.e., a regression test — Cilksan will either certify that the program is deterministic or pinpoint the instructions that can cause the program to behave nondeterministically. In other words, Cilksan allows programmers to regression-test Cilk programs for deterministic behavior.

The Cilkscale scalability analyzer

Publications

  1. Feng, M., & Leiserson, C. E. (1997). Efficient Detection of Determinacy Races in Cilk Programs. In SPAA (pp. 1–11).
  2. Feng, M., & Leiserson, C. E. (1999). Efficient Detection of Determinacy Races in Cilk Programs. Theory of Computing Systems, 32(3), 301–326.
  3. He, Y., Leiserson, C. E., & Leiserson, W. M. (2010). The Cilkview Scalability Analyzer. In SPAA (pp. 145–156). ACM. https://doi.org/10.1145/1810479.1810509

Last updated: