Intel® Cilk™ Plus

Intel® System Studio - Multicore Programming with Intel® Cilk™ Plus

Intel System Studio not only provides a variety of signal processing primitives via Intel® Integrated Performance Primitives (Intel® IPP), and Intel® Math Kernel Library (Intel® MKL), but also allows developing high-performance low-latency custom code (Intel C++ Compiler with Intel Cilk Plus). Since Intel Cilk Plus is built into the compiler, it can be used where it demands an efficient threading runtime in order to extract parallelism. Therefore it's possible to effectively introduce multicore parallelism even without introducing it into each of the important algorithms e.g., by employing a parallel pattern called pipeline. For custom code (e.g., code that's not reused via a library), one can rely (in addition to auto-vectorization) on an extended Array Notation incl. elemental functions (kernels) to explicitly vectorize at a higher level compared to ISA-specific intrinsic functions.
  • Developers
  • Students
  • Linux*
  • Yocto Project
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Intel® C++ Compiler
  • Intel® Cilk™ Plus
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® System Studio
  • embedded c programming
  • Parallel Computing
  • Power Efficiency
  • Threading
  • Vectorization
  • Свёртки в Intel® Cilk Plus

    Допустим нам зачем-то нужно найти сумму элементов массива. Мы можем разбить массив на две части, просуммировать каждую часть отдельно и сложить результаты. При этом суммировать эти части можно параллельно. Но суммирование части массива это в точности исходная задача, и каждую часть снова можно разбить на две части и просуммировать каждую часть отдельно, а затем сложить результаты и т. д. Такая стратегия вычислений называется «разделяй и властвуй».

  • Intel® Cilk™ Plus
  • Parallel Computing
  • Serial Equivalence of Cilk Plus programs

    The serial equivalence of a Cilk™ Plus parallel program

    There is a trend in the C++ community to grow capabilities thru more libraries and as much as possible, avoid adding language keywords.
    Consistent with these trends are Intel’s Threading Building Blocks and Microsoft’s Parallel Patterns Library.
    The question arises, then, why implement Intel’s Cilk™ Plus as language extensions rather than a library?

    Subscribe to Intel® Cilk™ Plus