MulticoreInfo.com header image 2

Comparing Cilk++ and OpenMP

February 27th, 2009 · 1 Comment




by Ilya Mirman, Cilk Arts
Summary: Cilk++ vs. OpenMP
If your code looks like a sequence of parallelizable Fortran-style loops, OpenMP will likely give good speedups. If your control structures are more involved, in particular, involving nested parallelism, you may find that OpenMP isn’t quite up to the job:

* Cilk++ has nested parallelism that works and provides guaranteed speed-up. OpenMP has nested parallelism, but can be a “memory hog” and unreliable.
* Cilk++ guarantees space bounds. On P processors, Cilk++ uses no more than P times the space of a serial execution. In OpenMP, not so.
* Cilk++ has a serial semantics. With OpenMP, you do not have this benefit - only a subset of OpenMP supports serial semantics.
* Cilk++ has a solution for global variables (a construct we invented called “hyperobjects”). OpenMP does not.

Full Story

  • Share/Save/Bookmark

Tags: Industry News · MulticoreInfo · Programming

Like what you're reading? Come back every day for multicore news, or subscribe to RSS updates.



Stumble It!     


1 response so far ↓