Open Specifications

Intel Cilk Plus is an essential tool to implement parallelism. As the first step towards our commitment for broad adoption of Cilk Plus, we are making public the language specification that includes both our simple keywords and array notations. These specifications are designed to help other compiler developers implement Cilk Plus for their platforms.

Cilk Plus Conformance Suite V1.2.1
This suite tests for conformance with the Cilk Plus Language Specification.
April 3, 2014 Submitted by: Intel Cilk Plus Development Team
Language Extension Specification V1.2
This document describes the syntax and semantics of the Cilk™ Plus language constructs that were added to the C and C++ programming languages.  This version of the specification was released in September, 2013 and supercedes the 1.1 version of the same specification released in July, 2011.  This version adds no new features to the language extensions described in the V1.1 specification, but contains numerous corrections and clarifications.  A few obsolete constructs were removed.  It is recommended that implementors adding Cilk Plus extensions to their compilers base their changes on this document instead of the V1.1 document.
September 9, 2013 Submitted by: The Intel Cilk Plus development team
Language Spec Diffs V1.1 to V1.2
This document is identical to the Intel® Cilk™ Plus Specification version 1.2 except that it shows the changes from version 1.1 in "redline" notation.  Read this document if you are already familiar with the 1.1 version and want to become acquainted with the recent changes.
September 9, 2013 Submitted by: Intel Cilk Plus Development Team
Vector Function ABI v0.9.5
This document is a draft decription of the calling conventions and name mangling rules for SIMD-enabled functions in Intel® Cilk™ Plus and OpenMP 4.0 for the Intel® IA-32, Intel®64, and Intel® Xeon™ Phi™ processors using the SSE, SSSE, AVX, and Xeon™ Phi™ vector instruction sets extensions.  Implementors of Cilk™ Plus on non-Intel compilers are encouraged to follow this ABI closely in order to ensure link-time compatibility with the Intel compiler.
January 22, 2013 Submitted by: Intel Cilk Plus Development Team
Application Binary Interface (ABI) V1.1
Intel Cilk Plus ABI as implemented by Intel® Composer XE 2011 SP1.This document describes the Intel® Cilk™ Plus Application Binary Interface, the interface between compiler-generated code and the Intel® Cilk™ Plus runtime. The purpose of this document is to allow a compiler writer to generate code to use the runtime. This interface is version-specific. Previous versions of Cilk have used a different interface and future versions may change the interface.
December 21, 2011 Submitted by: The Intel Cilk Plus Development Team
Intrinsics for Low Overhead Tool Annotations V1.0
This document specifies two compiler intrinsics that eliminate the overhead in most real use cases, and certainly reduces it. The intrinsics enable richly annotating libraries for tools without incurring significant run-time costs when the tools are not in use. Each annotation is more than a mere mark in the instruction stream. It can accept an expression argument like a call to a routine does.
November 11, 2011 Submitted by: The Intel Cilk Plus Development Team
Language Extension Specification V1.1
This document describes the syntax and semantics of the Cilk™ Plus language constructs that were added to the C and C++ programming languages. This version of the specification has been superseded by version 1.2.
July 7, 2011 Submitted by: The Intel Cilk Plus Development Team
Language Extension Specification V0.9
This document defines the Intel® Cilk™ Plus extension to C and C++. The language extension is supported by a run time user mode work stealing task scheduler which is not directly exposed to the application programmer. However, some of the semantics of the language and some of the guarantees provided require specific behavior of the task scheduler.
October 28, 2010 Submitted by: The Intel Cilk Plus Development Team
Application Binary Interface V0.9
Intel Cilk Plus ABI as implemented by Intel® Composer XE 2011.This document describes the Intel® Cilk™ Plus Application Binary Interface, the interface between compiler-generated code and the Intel® Cilk™ Plus runtime. The purpose of this document is to allow a compiler writer to generate code to use the runtime. This interface is version-specific. Previous versions of Cilk have used a different interface and future versions may change the interface.
October 26, 2010 Submitted by: The Intel Cilk Plus Development Team