Difference between revisions of "GPU621/DPS921 Student Resources"
(→Compilation Notes) |
(→Cilk Plus) |
||
Line 6: | Line 6: | ||
== Cilk Plus == | == Cilk Plus == | ||
* [http://groups.csail.mit.edu/sct/wiki/index.php?title=Cilk_Plus_Installation_Guide MIT Installation Guide] | * [http://groups.csail.mit.edu/sct/wiki/index.php?title=Cilk_Plus_Installation_Guide MIT Installation Guide] | ||
+ | * [https://www.cilkplus.org/build-gcc-cilkplus Cilk Plus Installation Guide] | ||
* Cilk Plus is installed on matrix.senecac.on.ca server and on the matrix partition of the workstations in T2108 | * Cilk Plus is installed on matrix.senecac.on.ca server and on the matrix partition of the workstations in T2108 | ||
** /usr/local/gcc/gcc-cilk/bin/g++ | ** /usr/local/gcc/gcc-cilk/bin/g++ | ||
+ | |||
+ | ====Tips for building from source (tested on Fedora 19)==== | ||
+ | Works but gets a "Segmentation fault (core dumped)" when testing out w1.cilk.cpp when cilk_for loops > 3 times. | ||
+ | * download snapshot gcc-2427776 (2013-05-20) (current version on matrix as of 2014-01-17) | ||
+ | * configure using: | ||
+ | ** /path/to/configure --prefix=/path/to/installation --enable-languages="c,c++" --disable-multilib | ||
+ | |||
=== Configuration === | === Configuration === | ||
==== Linux ==== | ==== Linux ==== | ||
* add to .bash_profile | * add to .bash_profile | ||
** alias gc++="/usr/local/gcc/gcc-cilk/bin/g++ -fcilkplus -ldl -lcilkrts" | ** alias gc++="/usr/local/gcc/gcc-cilk/bin/g++ -fcilkplus -ldl -lcilkrts" | ||
+ | ** export LD_LIBRARY_PATH=/path/to/cilkplus-installation/lib:$LD_LIBRARY_PATH | ||
+ | ** source /path/to/tbbvars.sh ia32 -ltbb | ||
== TBB == | == TBB == |
Revision as of 23:06, 17 January 2014
GPU621/DPS921 | Participants | Groups and Projects | Resources | Glossary
The purpose of this page is to share useful information that can help groups with their projects.
Installation Notes
Cilk Plus
- MIT Installation Guide
- Cilk Plus Installation Guide
- Cilk Plus is installed on matrix.senecac.on.ca server and on the matrix partition of the workstations in T2108
- /usr/local/gcc/gcc-cilk/bin/g++
Tips for building from source (tested on Fedora 19)
Works but gets a "Segmentation fault (core dumped)" when testing out w1.cilk.cpp when cilk_for loops > 3 times.
- download snapshot gcc-2427776 (2013-05-20) (current version on matrix as of 2014-01-17)
- configure using:
- /path/to/configure --prefix=/path/to/installation --enable-languages="c,c++" --disable-multilib
Configuration
Linux
- add to .bash_profile
- alias gc++="/usr/local/gcc/gcc-cilk/bin/g++ -fcilkplus -ldl -lcilkrts"
- export LD_LIBRARY_PATH=/path/to/cilkplus-installation/lib:$LD_LIBRARY_PATH
- source /path/to/tbbvars.sh ia32 -ltbb
TBB
Configuration
Linux
- copy source script to your home directory
- cp /usr/local/gcc/tbb/bin/tbbvars.sh
- change permissions chmod u+x tbbvars.sh
- long hand notes
- add to LD_LIBRARY_PATH /usr/local/gcc/tbb41_20130613oss/lib/ia32/gcc4.1
- needed for dynamic loaded libraries
- use ldd <binary> to check
- -v option sends intermediate commands to cerr
OpenMP
Configuration
Linux
- add to gcc compile command -fopenmp
OpenCL
CUDA
- Visual Studio 2012 Ultimate | Select Software Downloads | Go To Visual Studio 2012 Ultimate 1.49GB | Download iso | Burn, if error burn again | Finally, install
- CUDA Downloads
- Installation add the following environment variables
- CUDA_PATH - points to the default version
- CUDA_PATH_INC
- CUDA_PATH_LIB
- Visual Studio IDE Settings for .cu files
- Project -> Build Customizations -> Select CUDA 5.5
- Source file -> Properites -> Item Type -> CUDA C/C++
- Project -> Properties -> Configuration -> VC++ Directories -> $(CUDA_PATH_INC); $(CUDA_PATH_LIB);
- Project -> Properties -> Configuration -> Linker -> Input -> cudart.lib
MPI
Compilation Notes
Cilk Plus
Linux
- gc++ -o xxx xxx.cpp
TBB
Linux
- source tbbvars.sh ia32
- gc++ -o xxx xxx.cpp -ltbb
- long hand
- gc++ -I /usr/local/gcc/tbb41_20130613oss/include/ -o xxx -L/usr/local/gcc/tbb41_20130613oss/lib/ia32/gcc4.1/ -ltbb xxx.cpp
OpenCL
- AMD
- cl opencl.cpp "%AMDAPPSDKROOT%"lib/x86/OpenCL.lib
- Environmental Variables
- INCLUDE add "C:\Program Files\AMD_APP_SDK\2.9\include";
- LIB add "C:\Program Files\AMD APP SDK\2.9\lib\x86";
CUDA
- compiling with nvcc
- Fermi cards - nvcc -code=sm_20 _arch=compute_20
- nvcc opencl.cpp -lOpenCL