Easy Parallel Programming: Cilk Plus Ported To GCC
Phoronix: 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...
a few questions
First of all, will it work with AMD processors?(I'd be amazed if it does, why support competition?)
Second of all, did I understand it correct, it's transparent to compilator user? Will it transparently auto-magically compile programs to take advantage of multiprocessor CPU's?(I understand not too many "core" utilities can take advantage of it)
First: AMD and intel processors are x86, so it work on AMD. You as a programmer are concerned by the front-end, which doesn't depend on the CPU instructions back-end generates.
Originally Posted by dimko
Second: No it won't auto-magically compile any program, because programs have to be written using Cilk. Three additional keywords are used in C/C++.
So it duplicates openmp functionality?
It's supposed to be much simpler to use than OpenMP though. I'm looking forward to it; hopefully we'll see it in GCC soon.
Originally Posted by curaga
I was actually expecting it to be a code drop from AMD as you said you had an AMD announcement this week on twitter
Looking at http://myxman.org/dp/node/182, I don't really get where Cilk Plus is "much simpler" than OpenMP. And Cilk Plus comes with quite some problems, ranging from being a non-standard language extension instead of just preprocessor magic (one can simply compile OpenMP code with a non-OpenMP-enabled compiler and it still works!) to just being supported by Intel. And you can't debug Cilk Plus using any standard debugger.
Originally Posted by RealNC
With OpenMP and Boost.Thread at hand, I don't really see a need for Cilk Plus.
It supposedly only has three keywords or something. I never worked with it either, mind you. :-P I use good old threads and MPI.
Originally Posted by sturmflut
I've only used openmp of the two, and cilk doesn't look much simpler.