Intel® Cilk™ Plus is an extension to the C and C++ languages to support data and task parallelism. It provides three new keywords to implement task parallelism and Array Notation, simd pragma and Elemental Function to express data parallelism. This article demonstrates how to improve the performance of an Averaging Filter in image processing using Intel® Cilk™ Plus. To demonstrate the performance increase, you will use a program that reads a bitmap RGB image and does averaging with a filter of size 3x3. Averaging filter work
This article has been updated for Intel C++ Composer XE 2013 and 2013 SP1 for Windows, Linux* and Mac OS* X.
Intel® Cilk™ Plus is a new method for implementing SIMD (SSEs) vectorization and parallel programs. It is supported by the following Intel software development products:
Version : 12.0
Product : Intel® C++ Compiler XE
Operating System : Windows*, Linux* and Mac* OS
Problem Description :
In "Intel® C++ Compiler XE 12.0 User and Reference Guides" -> "Creating Parallel Applications" -> "Using Intel® Cilk™ Plus" -> "Extensions for Array Notation" -> "C/C++ Extensions for Array Notations Programming Model", it says:
Are you a C or C++ programmer who has ever envied APL or Fortran 90's array expressions? Read on. If you don't know what array expressions are, then you really should read on, to find out what you should have envied. In any case, the envy is over, because Intel Parallel Composer 2011 brings array expressions to C and C++.