Easy Parallel Programming: Cilk Plus Ported To GCC

Posted by Michael Larabel on August 15, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. A New X.Org-Free Wayland LiveCD Released
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Steam: No used games...
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Unity 8, Mir Made Progress This Week On Features
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite