Where do we migrate to from Cilk Plus?

Where do we migrate to from Cilk Plus?

Disappointed to see that Cilk Plus is deprecated in compiler 18.0.

Now we need to find suitable alternatives to migrate to.

Can anyone suggest suitable alternatives to the array notation (other than brute-force loops) , which I use extensively for conciseness and readability?

Also is there an alternative in TBB or OpenMP for /Qcilk-serialize, which I often set for the Debug build?
Something that can be set and left (like compiler options in a Debug build) and which doesn't require frequent code changes.


4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

In any threading model, setting 1 thread is an important debug tool.
Intel openmp offers the option of linking openmp stubs library.
A properly set up openmp application using #if _OPENMP will build and run with openmp disabled. Some developers use mpi or some other timerin place of omp_wtime for this purpose.
Openmp is oriented toward dedicating an entire node to a single job in which case it often offers better scaling than cilkplus.

Please see https://software.intel.com/en-us/articles/migration-from-intelr-cilktm-plus-to-openmp-or-intelr-threading-building-blocks-intelr-tbb for how to migrate to OpenMP or TBB.  If your code is C not C++, you'll need to use OpenMP.  The Intel compiler supports -qopenmp-stubs if you need to run OpenMP-enabled code in serial.

Edit: Someone kindly pointed out that the above link is broken.  Please see https://software.intel.com/en-us/articles/migrate-your-application-to-us... instead.


Thanks Jeff,

That sounds what I was looking for and my code is C++.
TBB is looking favourite to switch to.

Unfortunately your link just gives "Access denied. You are not authorized to access this page", despite being apparently logged in.

Leave a Comment

Please sign in to add a comment. Not a member? Join today