What Multicore Artisans Say...

Without Cilk++, multicore enablement will require a drastic rewrite of our code, which can only be done by a small minority of our most experienced software developers. With Cilk++, we believe a team of largely junior developers can multicore-enable our code base.

No one provided a solution that is as crisp and simple, as easy to test and debug, and as high performing. I believe that Cilk Arts has a solution to a real and pressing problem in our industry.

Director of Research,
$300M Application Software Vendor

What Analysts Say...

Every software maker out there has got to learn how to program parallel code to remain competitive.

There's going to be a huge learning curve for developers to take on multi-threading in such a big way.

Dan Olds, Principal Analyst
Gabriel Consulting Group

Shrink Development Time

To multithread an application without Cilk++, software developers must drastically restructure their code. With Cilk++, existing applications need not be rewritten or restructured to take advantage of multiple processors. Cilk++ programmers continue to write serial code in familiar C++, then simply add a handful of keywords to identify parallelism in an application. Cilk++ can be learned in days, and maximizes programmer productivity. Cilk++ functions work seamlessly with non-Cilk++ code. Cilk is a no-risk solution: simply remove ("ifdef out") the Cilk keywords to return your application to its original form.

The following example, which shows the familiar recursive Quicksort algorithm, illustrates the simplicity of writing parallel programs in Cilk++. Recursive calls are executed in parallel through the addition of two Cilk++ keywords.