Briefing and Demo

In the following video, Duncan provides an overview of the Cilk++ product, how it works, and a live demonstration of an application multicore-enabled with Cilk++ and run on a 16-core computer.


Cilkscreen™ Race Detector

The CilkscreenTM race detector finds races and localizes them to file, line number, and variable reference with stack traces. The Cilkscreen race detector works against the compiled application. It's a regression-test oriented strategy which mathematically guarantees to find all cases where the result of the parallel execution could differ from the serial version, thereby ensuring parallel correctness.

Cilkscreen assures that your multicore-enabled application is as reliable as the serial original. An application run under the Cilkscreen race detector run 15-25 times slower than real-time. The slowdown is consistent across the run. It does not slow down as the the application executes.

Related blog posts and documentation:

Are Determinacy Race Bugs Lurking in YOUR Multicore Application?

Global Variable Reconsidered

Cilkscreen race detector documentation

The Cilkscreen race detector can be run standalone, or integrated within Microsoft Visual Studio.

Cilkscreen  provides a stack trace that identifies function names, filenames, line numbers, and variables involved in offending races.


Race Detector Demonstration

In the following application example, Steve Lewin-Berlin, VP of Engineering at Cilk Arts, demonstrates how the Quicksort algorithm is multicore-enabled using Cilk++.  This application demonstrates the Cilk++ keywords and race detector, as well as the performance gain provided by using Cilk++.

At the 6 minutes and 30 seconds mark, Steve demonstrates the Cilkscreen race detector.