LWN.net Logo

Intel open-sources Cilk Plus

Intel has announced that its "Cilk Plus" project is now available as a GCC branch. Essentially, the project is working on extensions to the C and C++ languages to make efficient parallel programming easier. "The product includes three simple keywords and array notations that allow C and C++ developers to quickly make productive use of modern processors that contain both multiple cores and vector units." See the Cilk Plus specification for details.
(Log in to post comments)

Intel open-sources Cilk Plus

Posted Aug 16, 2011 14:52 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

http://software.intel.com/file/38090 claims that the runtime is dual licensed with one of the license as BSD. Not sure why someone would dual license with BSD as one of the options. Isn't BSD permissive enough to be used for any purpose?

Intel open-sources Cilk Plus

Posted Aug 16, 2011 14:56 UTC (Tue) by lkundrak (subscriber, #43452) [Link]

At least this restriction from their BSD license is not present in GPL:
Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Intel open-sources Cilk Plus

Posted Aug 16, 2011 16:07 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

This is not really a restriction. It is a commonly seen disclaimer

full circle: free to proprietary to free

Posted Aug 16, 2011 15:31 UTC (Tue) by stevenj (guest, #421) [Link]

This derives from the Cilk project at MIT, which started out as open-source and gcc-based, then got turned into a startup company that made an improved proprietary version of the language that was integrated with various compilers on Windows, which was then was bought by Intel and integrated into their compiler, and now is back as free software in gcc.

I have no involvement in Cilk myself, but know the people from MIT who developed it. It's really one of the nicest ways to develop parallel programs on shared-memory systems (even easier than OpenMP), especially if you want to parallelize a problem that doesn't divide simply into equal-sized chunks to farm out to each CPU. (e.g. try parallelizing a recursive game-tree search.) It even has a "nondeterminator" that can detect race conditions for you. Good to see it back in the FLOSS world.

full circle: free to proprietary to free

Posted Aug 16, 2011 20:08 UTC (Tue) by mbar (subscriber, #73813) [Link]

ICC FTW! As seen on Gentoo ;)

Intel open-sources Cilk Plus

Posted Aug 16, 2011 21:54 UTC (Tue) by PaulWay (✭ supporter ✭, #45600) [Link]

I must be suffering from TL,DR syndrome today, because I read through a bit of the Intel doco and gave up. What I want here is a bunch of examples from simple to complex, just like I've seen in introductions to most of the newer languages. I'm sure it's great and all but you're not going to get adoption quickly if you don't make it easy for people to know how to program using Cilk - and do it right.

Have fun,

Paul

Intel open-sources Cilk Plus

Posted Aug 16, 2011 23:28 UTC (Tue) by aleXXX (subscriber, #2742) [Link]

Here's a pdf file showing some examples:
http://software.intel.com/file/33747/

Alex

Intel open-sources Cilk Plus

Posted Aug 18, 2011 3:47 UTC (Thu) by foom (subscriber, #14868) [Link]

This is amazing news. I've been following Cilk since it was an MIT project, and it really seems like the Right Thing. It's *great* news that it's now available in an open source gcc branch!

Intel open-sources Cilk Plus

Posted Aug 18, 2011 19:36 UTC (Thu) by ejr (subscriber, #51652) [Link]

Built and tried the gcc branch. This isn't quite ready for production, but it's a fair start. Internal compiler error on one Cilk+ SDK example, and a speedup of 0.14 (hence slow-down of 7x) on a large system... I have no doubt gcc's Cilk+ will get there, but caveats apply in the meantime.

(And no, I haven't reported bugs yet. Hoping to rebuild more cleanly, retry, and report any next week.)

Intel open-sources Cilk Plus

Posted Aug 26, 2011 1:01 UTC (Fri) by bviyer (guest, #79047) [Link]

Hello Ejr,
Thank you very much for downloading and trying-out the Cilk Plus GCC port. Please feel free to contact me directly (my email address is in the README.cilk) or post the bug you encountered in either the Intel Cilk Plus forum (http://software.intel.com/en-us/forums/intel-cilk-plus/) or the gcc mailing list.

Thanks again!

-Balaji V. Iyer.

Fortran 90

Posted Aug 19, 2011 20:42 UTC (Fri) by sytoka (subscriber, #38525) [Link]

Nice, Fortran 90 twenty years after ;-) Next step co-array ?

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds