Easy Parallel Programming: Cilk Plus Ported To GCC
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.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions