Difference between revisions of "GPU621/DPS921 Student Resources"

From CDOT Wiki
Jump to: navigation, search
(Cilk Plus)
Line 90: Line 90:
  
 
= Workshop Notes =
 
= Workshop Notes =
==BLAS Documentation==
+
==Platforms==
* [http://zenit.senecac.on.ca/wiki/index.php/GPU610/DPS915_BLAS_Documentation GPU610/DPS915_BLAS Documentation Page]
+
*
 +
==OpenMP==
 +
*
  
 
= Assignment Notes =
 
= Assignment Notes =
 
==Shared Memory==
 
==Shared Memory==
 
==Message Passing==
 
==Message Passing==

Revision as of 13:59, 21 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

Platforms

OpenMP

Assignment Notes

Shared Memory

Message Passing