Mercurial > hg > CbC > CbC_gcc
diff libcilkrts/README @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libcilkrts/README Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,164 @@ +Intel(R) Cilk(TM) Plus Runtime Library + +Index: +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 WITH AUTOMAKE: +# + +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. + +To build the libcilkrts.so runtime library component, you need the +autoconf and automake packages, which are available through your +favorite package manager. You also need a C/C++ compiler that +supports the Intel Cilk Plus language extensions, since the runtime +uses Intel Cilk Plus features internally. Use either the Intel(R) +C++ Compiler (icc command) v12.1 or later, or in GCC 4.9 or later +(gcc command). + +Once you have the necessary prerequisites installed, you can use the +following commands to create the library: + +% libtoolize +% aclocal +% automake --add-missing +% autoconf +% ./configure +% make +% make install + +This will produce the libcilkrts.so shared object. To install the +library in a custom location, set the prefix while running the +configure script: + +% ./configure --prefix=/your/path/to/lib + +# +# 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. + +# +# 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 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 + +# +# 5. DOXYGEN DOCUMENTATION: +# + +The library source has Doxygen markup. Generate HTML documentation +based on the markup by changing directory into runtime and running: + +% doxygen doxygen.cfg + +# +# 6. QUESTIONS OR BUGS: +# + +Issues with the Intel Cilk Plus runtime can be addressed in the Intel +Cilk Plus forums: +http://software.intel.com/en-us/forums/intel-cilk-plus/ + +# +# 7. CONTRIBUTIONS: +# + +The Intel Cilk Plus runtime library is dual licensed. The upstream copy +of the library is maintained via the BSD-licensed version available at: +http://cilkplus.org/ + +Changes to the Intel Cilk Plus runtime are welcome and should be +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.