Intel® Cilk™ Plus

status of cilkplus in gcc?

What's going on with cilkplus in gcc? Is it still being actively used and developed? 

This link says it's been "supported" for some time:

​Yet it doesn't seem to work with some of the simplest code like below which gives an ICE with gcc.

Простая методика оптимизации с использованием Intel System Studio (VTune, компилятор C++, Cilk Plus)


В этой статье мы описываем простую методику оптимизации с использованием Intel® Cilk™ Plus и компилятора Intel® C++ на основе результатов анализа производительности, проведенного с помощью Intel® VTune Amplifier. Intel® System Studio 2015 содержит упомянутые компоненты, использованные для этой статьи.

  • Partners
  • Professors
  • Students
  • Microsoft Windows* 8.x
  • Business Client
  • Game Development
  • Internet of Things
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Intel® System Studio
  • Intel® VTune™ Amplifier
  • Intel® Cilk™ Plus
  • Intel® Advanced Vector Extensions (Intel® AVX)
  • Intel® Streaming SIMD Extensions
  • Academic
  • Development Tools
  • Intel® Core™ Processor
  • Optimization
  • Parallel Computing
  • Platform Analysis
  • Threading
  • Vectorization
  • Q about fibonacci example

    //From the examples website:
    int fib(int n)
        if (n < 2)
            return n;
        int x = cilk_spawn fib(n-1);
        int y = fib(n-2);
        return x + y;

    This leads to much recalculation of old fib values. A better implementation would store the value, and return it if it has already been computed. However, that also requires critical sections or locks to serialize access to "has_already_been_computed" variable. Does cilk have a mechanism for that?

    why does cilk_spawn give me such bad performance?

    I wrote a simple benchmark that fills two vectors with a sequence of randomly computed numbers. I'm comparing tbb, cilk, and std::async. The results I get are (milliseconds)

    time cilk: 3725
    time async: 2367
    time tbb: 2397
    time serial: 4610

    I compiled with (icc 2016)

    icc -std=c++14 -xHost -O3 -tbb -pthread benchmark.cpp

    And I'm running on

    Cilkview Cilkscreen Centos 7

    Issues with Cilktools.  I have compiled and installed gcc 4.9 and gcc 5.2 on Centos 7 and installed them.  The fib.c test code runs fine for both gcc's.  


    However when I attempt to use the cilktools provided on:

    I get the following error:

    ./cilkview: error while loading shared libraries: wrong ELF class: ELFCLASS64

    Subscribe to Intel® Cilk™ Plus