aboutsummaryrefslogtreecommitdiff
path: root/README.cilk
blob: 41e8da9d07d748a50ce751098bb2b8ec061530b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
This readme describes the gcc port of the Intel(R) Cilk(TM) Plus extensions to
 C and C++ languages.

The "cilkplus" GCC branch implements the Intel Cilk Plus language 
extensions to C and C++ frontends. For more information about Intel Cilk Plus, 
please refer to "Intel(R) Cilk(TM) Plus Language Specification" at 
http://www.cilkplus.org.

This release contains a subset of the full Intel Cilk Plus specification.  
It includes the following features:
1) Three Cilk Plus keywords: _Cilk_spawn, _Cilk_sync and _Cilk_for and a
   pragma to set grainsize.
2) Reducers provide an easy, lock-free way to deal with shared data.
3) Pragmas that communicate SIMD information to the vectorizer to help ensure
   that the loops are vectorized correctly/easily.
4) Array notations (including builtin reduction functions) to directly express
   high-level parallel vector array operations.
5) Elemental functions to create vector version of a function to help the
   vectorizer vectorize loops effectively.

This implementation has been tested on the x86 (both 32 and 64 bit)  
architectures.  There is very little architecture-specific code and it should 
not be too difficult for you to port to other architectures.  However, be aware 
that the implementation assumes sequential consistency when accessing shared 
variables, so architectures using a different memory model may require you to 
insert additional memory barriers.

These extensions provide a simple, well-structured and powerful model for 
parallel programming. Intel hopes that you will find these extensions to be 
 useful and a significant enhancement to the GCC C and C++ compilers.  We 
welcome your support and comments to make this project successful. 


If you have comments, suggestions or questions, please contact Balaji V. Iyer 
at balaji.v.iyer-AT-intel.com.  

---------------------------------------------------------------------------
Intel and Cilk are trademarks of Intel Corporation in the U.S. and/or other 
countries.