Community
cancel
Showing results for 
Search instead for 
Did you mean: 
roger567
New Contributor I
177 Views

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.

Thanks

0 Kudos
3 Replies
TimP
Black Belt
177 Views

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.
Jeffrey_H_Intel
Employee
177 Views

Please see https://software.intel.com/en-us/articles/migration-from-intelr-cilktm-plus-to-openmp-or-intelr-thre... 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-use-openmp-or-intelr-tbb-inste... instead.

roger567
New Contributor I
177 Views

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.

Reply