Early this morning I mentioned
some of the features for GCC 4.7 as what one can expect when this next major open-source compiler update is out in a matter of months. There was
some speculation in the forums that this article was a preemptive article coming just before a big code drop. As luck would have it, this afternoon there's a big Intel GCC announcement.
Balaji V. Iyer of Intel has announced a port of Intel Cilk Plus to GCC. Intel has landed a branch of GCC (to be merged later, right now
the GCC branch is "cilkplus") that ports Cilk Plus language extensions to the C and C++ front-ends of GCC 4.7.
Intel prides Cilk Plus for the ability to write parallel programs using a simple model, utilize data parallelism by simple array notations, leverages existing serial tools, and can scale for the future. From Intel's web-site, "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 is a set of C/C++ constructions by Intel for task-parallel and data-parallel programming. These constructs are designed to improve performance on multi-core CPUs in a very easy manner. This parallel programming method is particularly easy with the addition of just three C/C++ keywords.
Cilk Plus was originally released in September of 2010 after Intel's 2009 acquisition of Cilk Arts. In 2010 they also published a language specification and ABI specification so that other compilers could implement Cilk Plus, but now Intel has finally contributed the needed patches to GCC.
Besides patching the C/C++ front-ends, this work also requires a Cilk Plus run-time library, which is part of the new GCC branch and the run-time library is BSD licensed.
For those interested in parallel programming, see
the mailing list announcement. To learn more about Cilk Plus, visit
CilkPlus.org.