diff options
Diffstat (limited to 'libcilkrts/README')
-rw-r--r-- | libcilkrts/README | 104 |
1 files changed, 89 insertions, 15 deletions
diff --git a/libcilkrts/README b/libcilkrts/README index d3503f44e34..54f8b044294 100644 --- a/libcilkrts/README +++ b/libcilkrts/README @@ -1,14 +1,16 @@ -Intel(R) Cilk(TM) Plus runtime library +Intel(R) Cilk(TM) Plus Runtime Library Index: -1. BUILDING -2. USING -3. DOXYGEN DOCUMENTATION -4. QUESTIONS OR BUGS -5. CONTRIBUTIONS +1. BUILDING WITH AUTOMAKE +2. BUILDING WITH CMAKE +3. INSTALLING TO VXWORKS +4. USING +5. DOXYGEN DOCUMENTATION +6. QUESTIONS OR BUGS +7. CONTRIBUTIONS # -# 1. BUILDING: +# 1. BUILDING WITH AUTOMAKE: # To distribute applications that use the Intel Cilk Plus language @@ -40,22 +42,87 @@ configure script: % ./configure --prefix=/your/path/to/lib -It is also possible to use CMake if the above method does not apply -well in your environment. Instruction is available in CMakeLists.txt. +# +# 2. BUILDING WITH CMAKE: +# + +To distribute applications that use the Intel Cilk Plus language +extensions to non-development systems, you need to build the Intel +Cilk Plus runtime library and distribute it with your application. +This instruction describes the build process using CMake*, which +supports Linux*, Windows*, and OS X*. It is fine to use this process +to build a Linux library, but it is highly recommended to use the +more mature build process described above when building on Linux. + +You need the CMake tool and a C/C++ compiler that supports the Intel +Cilk Plus language extensions, and the requirements for each operating +systems are: + +Common: + CMake 3.0.0 or later + Make tools such as make (Linux, OS X) or nmake (Windows) +Linux: + GCC* 4.9.2 or later, or Intel(R) C++ Compiler v12.1 or later +Windows: + Intel C++ Compiler v12.1 or later + Visual Studio* 2010 or later +OS X: + Cilk-enabled branch of Clang*/LLVM* (http://cilkplus.github.io), + or Intel C++ Compiler v12.1 or later + +The common steps to build the libraries are 1) invoke cmake with +appropriate options, 2) invoke a make tool available on the system. +The following examples show build processes on OS X and Windows. + +OS X: + % mkdir ./build && cd ./build + % cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_INSTALL_PREFIX=./install .. + % make && make install + +Windows: + % mkdir .\build && cd .\build + % cmake -G "NMake Makefiles" -DCMAKE_C_COMPILER=icl \ + -DCMAKE_CXX_COMPILER=icl -DCMAKE_INSTALL_PREFIX=.\install .. + % nmake && nmake install + +# +# 3. INSTALLING TO VXWORKS OS +# + +For Windows host, run VxWorks_Install.bat. +For Linux host, run VxWorks_Install.sh. + +You may need to give environment variable WIND_BASE to indicate VxWorks +installation path. + +Create a VSB project, and you will see a layer named "CILKPLUS_KERNEL". +Enable it and build the project. + +Create a VIP project with ICC and add component INCLUDE_CILKPLUS, then you +will get support of Intel Cilk Plus features in VxWorks. # -# 2. USING: +# 4. USING: # The Intel(R) C++ Compiler will automatically try to bring in the Intel Cilk Plus runtime in any program that uses the relevant -features. GCC requires explicit linking of both the library and -its dependencies (libpthread, libdl). For example: +features. GCC and Clang requires an explicit compiler option, +-fcilkplus, to enable Intel Cilk Plus language extensions. +For example, + +% gcc -fcilkplus -o foo.exe foo.c +% clang -fcilkplus -o foo.exe foo.c + +Older GCC versions (e.g., 4.8 cilkplus branch) requires explicit linking +of both the library and its dependencies (libpthread, libdl). +For example: % gcc foo.c -lcilkrts -lpthread -ldl # -# 3. DOXYGEN DOCUMENTATION: +# 5. DOXYGEN DOCUMENTATION: # The library source has Doxygen markup. Generate HTML documentation @@ -64,7 +131,7 @@ based on the markup by changing directory into runtime and running: % doxygen doxygen.cfg # -# 4. QUESTIONS OR BUGS: +# 6. QUESTIONS OR BUGS: # Issues with the Intel Cilk Plus runtime can be addressed in the Intel @@ -72,7 +139,7 @@ Cilk Plus forums: http://software.intel.com/en-us/forums/intel-cilk-plus/ # -# 5. CONTRIBUTIONS: +# 7. CONTRIBUTIONS: # The Intel Cilk Plus runtime library is dual licensed. The upstream copy @@ -85,6 +152,13 @@ contributed to the upstream version via http://cilkplus.org/. Thanks to Tobias Burnus for showing us the magic to make gcc and g++ automatically include the Cilk Plus runtime. +Thanks to Eric Olson for sharing his patch for Raspberry Pi* with us. + +Thanks to Rainer Orth for submitting patches for exception handling and +enabling Cilk Plus on the SPARC* architecture. + ------------------------ Intel and Cilk are trademarks of Intel Corporation in the U.S. and/or other countries. + +*Other names and brands may be claimed as the property of others. |