Intel® Cilk™ Plus

How is the user worker thread returned when returning from cilk runtime?


In the Binary Interface Specification, it says when the last user thread calls __cilkrts_leave_frame() with a __cilkrts_stack_frame which has CILK_FRAME_LAST set in the flags field, the runtime will suspend all of the worker threads it created."

I have a question about when the stack frame set as CILK_FRAME_LAST gets stolen by the system worker.

gcc 5.1 -mfpmath=387 Floating point exception

It appears that the compiler option -mfpmath=387 immediately causes floating point exceptions on Intel architecture processors in cilk_spawn routines compiled with gcc-5.1 cilk.  This seems to be a regression as gcc-4.9 with the cilk patches works fine.  Note that -mfpmath=sse works on 64-bit machines, however, this option is not available for 32-bit Intel machines.  As far as I can tell, most floating point code is affected.  Does anyone know of patches or workarounds for this, especially as this appears to be a show-stopper on 32-bit Intel.

Cilkplus port to Raspberry Pi 2B

I compiled the new release of gcc-5.1 with the Cilkplus parallel processing extensions and runtime library for ARMv7 architecture on the Raspberry Pi 2B single board computer.  Two changes were needed.

The first change corrects a typo in generic/cilk-abi-vla.c by changing the second to the last line of the file from

vla_internal_heap_free(t, full_size);


vla_internal_heap_free(p, full_size);

the second change was to generic/os-fence.c and ARM specific. Comment out the line

COMMON_SYSDEP void __cilkrts_fence(void); ///< MFENCE instruction

changes in CEAN implications re vectorization in next release?

I note that is open for submissions for the first time in months, so I submitted a ticket.  It still looks like setting up premier for beta 16 has not been completed, as the form requires choosing compiler version 15.0 or earlier from the pull-down.

I'm curious whether Cilk(tm) Plus is under deprecation, in view of the comments at IDF last year that Intel would not sponsor publications on it, and the lack of follow-through to make gcc -fcilkplus viable.

As to changes in behavior in the beta test:

Using Cilk reducer inside Cilker shared function

Hi I am trying to offload some parallel work to MIC using _Cilk_Shared and _Cilk_offload. 

I declare a Cilk shared function:

_Cilk_shared void somefun(int count)


In main I call this function using 

_Cilk_offload somefun(12) ;

inside this function everything is expected to be offloaded to MIC;

I want to declare a Cilk reducer inside somefun, so I can then use cilk_for and append to a cilk reducer list, 

but I get error:

Unable to Compile GCC

I was following the instructions from, and I consistently got an error saying that "tm.h": no file or directory was found. I'm not sure what tm.h is, or what package it is included with.

I installed the following packages: GNAT (probably doesn't help), GMP, MPFR, MPC, ISL, Flex, Bison.

My configuration options were `./configure --prefix=/usr/lib/gcc/cilkplus --enable-languages="c,c++" --disable-multilib`

On Ubuntu 14.10. 

Intel® Parallel Studio XE 2016 Beta

Thank you for your interest. The Intel® Parallel Studio XE 2016 Beta program is now closed.

If you’d like to try out the official release of the Intel® Parallel Studio XE 2016, visit our product pages and grab a free 30-day evaluation copy. If you have an existing license for our tools (not Beta), you can download the latest release from the Intel® Registration Center.

We value your feedback and look forward to sharing our new products with you!

  • Developers
  • Partners
  • Professors
  • Students
  • Apple OS X*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • Business Client
  • Server
  • .NET*
  • C#
  • C/C++
  • Fortran
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Composer Edition
  • Intel® Parallel Studio XE Professional Edition
  • Intel® Parallel Studio XE Cluster Edition
  • Intel® VTune™ Amplifier
  • Intel® C++ Compiler
  • Intel® Inspector
  • Intel® Advisor
  • Intel® Data Analytics Acceleration Library (Intel® DAAL)
  • Intel® Fortran Compiler
  • Intel® Cilk™ Plus
  • Intel® Trace Analyzer and Collector
  • Intel® Cluster Checker
  • Intel® Math Kernel Library
  • Intel® MPI Benchmarks
  • Intel® MPI Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • Intel® Cilk Plus Software Development Kit
  • Intel® Cluster Poisson Solver Library
  • Intel® Streaming SIMD Extensions
  • Message Passing Interface
  • Academic
  • Big Data
  • Cluster Computing
  • Debugging
  • Development Tools
  • Financial Services Industry
  • Geolocation
  • Healthcare
  • Optimization
  • Parallel Computing
  • Threading
  • Vectorization
  • Subscribe to Intel® Cilk™ Plus