Intel® Developer Zone:
Intel® Cilk™ Plus

A Quick, Easy and Reliable way to Improve Performance

Intel® Cilk™ Plus is an extension to C and C++ that offers a quick and easy way to harness the power of both multicore and vector processing. The three Intel Cilk Plus keywords provide a simple yet surprisingly powerful model for parallel programming, while runtime and template libraries offer a well-tuned environment for building parallel applications.

Cilk Plus.orgClick here for sample code, contributed libraries, open specifications and other information from the Cilk Plus community.

Go to "Intel® C++ Compiler Code Samples" to see real-world applications that utilize the Intel® Cilk™ Plus.


Click image for larger view

Intel Cilk Plus allows you to:

  • Write parallel programs using a simple model: With only three keywords to learn, C and C++ developers move quickly into the parallel programming domain.
  • Identify data parallelism by using simple array notations that include elemental function capabilities.
  • Leverage existing serial tools: The serial semantics of Intel Cilk Plus allows you to debug in a familiar serial debugger.
  • Scale for the future: The runtime system operates smoothly on systems with hundreds of cores. Tools are available to analyze your application and predict how well it will scale.

As multicore systems become prevalent on desktops, servers and even laptop systems, new performance leaps will come as the industry adopts parallel programming techniques. However, many parallel environments consist of confusing, complex and error-prone rules and constructs. The Intel Cilk Plus language, built on the Cilk technology developed at M.I.T. over the past two decades, is designed to provide a simple, well-structured model that makes development, verification and analysis easy. Because Intel Cilk Plus is an extension to C and C++, programmers typically do not need to restructure programs significantly in order to add parallelism.

  • Introduction to Vectorization using Intel® Cilk™ Plus Extensions

FAQ

Q – What is Intel® Cilk™ Plus?
A – Intel® Cilk™ Plus is an extension to the C and C++ languages to support task and data parallelism. Unlike other threading packages, Intel Cilk Plus is not just a library.   It is a language extension that is implemented by the compiler and the Intel Cilk Plus runtime, allowing lower overhead than library-only solutions.

Q – Where can I learn more about Intel® Cilk™ Plus?
A – Visit the Intel® Cilk™ Plus open project website for technical documents, presentations and tech-talks on Intel® Cilk™ Plus.

Q – Where do I download Intel Cilk Plus?
A – The commercial version of Intel Cilk Plus is available in binary form, as part of the Intel® C++ Composer XE compiler offering.
The open source version of Intel Cilk Plus is available in source form, both as part of the GCC “cilkplus” branch of the GCC v4.8 C/C++ compiler, and from the Download page.
The “cilkplus” branch includes all sources necessary to build the Intel Cilk Plus runtime and the C and C++ compilers required to compile the Intel Cilk Plus extension for Linux* or OS X*.
The sources available from the Download page include all sources necessary to build the Intel Cilk Plus runtime for Linux* or OS X*.  You’ll need a compiler that implements the Intel Cilk Plus extension; either ICC or the GCC v4.8 “cilkplus” branch.

Q – How is Intel Cilk Plus licensed?
A – Intel Cilk Plus is available under multiple licenses:

  • A commercial license
  • The version shipped in the "cilkplus" branch of the GCC C/C++ compiler is licensed under the GPL v3 with the Runtime Library Exception
  • The sources of the Intel Cilk Plus runtime are made available under a BSD license. 

Regardless of how they are licensed, all of the versions of Intel Cilk Plus are built from the exact same code base.

Q – How do I report problems or send feedback?
A - You are welcome to join the Intel® Cilk™ Plus Forum to post your questions and issues. The support team monitors the discussion to address questions.

Intel® Cilk™ Plus

Getting Started?

Click the Learn tab for guides and links that will quickly get you started.

Get Help or Advice

Search Support Articles
Forums - The best place for timely answers from our technical experts and your peers. Use it even for bug reports.
Support - For secure, web-based, engineer-to-engineer support, visit our Intel® Premier Support web site. Intel Premier Support registration is required.
Download, Registration and Licensing Help - Specific help for download, registration, and licensing questions.

Resources

Release Notes - Intel® C++ Composer XE includes Intel® Cilk™ Plus
Product Documentation - View documentation online!

Intel Cilk Plus Project – Sources, tools, news, code samples and videos. Everything you need to start coding with Intel Cilk Plus today.