Difference between revisions of "GPU621/DPS921 Student Resources"

From CDOT Wiki
Jump to: navigation, search
(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

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

Workshop Notes

BLAS Documentation

Assignment Notes

Shared Memory

Message Passing