Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
GPU Computing in URCS |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
GPU Computing in URCS | ||||||||
Line: 79 to 79 | ||||||||
############################ CUDA START ############################ | ||||||||
Changed: | ||||||||
< < | if \h =~ node1x4x2a | |||||||
> > | # Get the machine name stripping the domain .cs.rochester.edu whoami=`uname -n | sed 's/\..*//'` if $whoami = "node1x4x2a" | |||||||
then export CUDA_INSTALL_PATH=$HOME/Applications/gpu_computing/cuda_x86_64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_INSTALL_PATH/lib64 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
GPU Computing in URCS | ||||||||
Line: 79 to 79 | ||||||||
############################ CUDA START ############################ | ||||||||
Changed: | ||||||||
< < | whoami=`uname -n | sed 's/\..*//'` if $whoami =~ node1x4x2a | |||||||
> > | if \h =~ node1x4x2a | |||||||
then export CUDA_INSTALL_PATH=$HOME/Applications/gpu_computing/cuda_x86_64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_INSTALL_PATH/lib64 | ||||||||
Line: 172 to 171 | ||||||||
| ||||||||
Added: | ||||||||
> > | AlternativelyThis is only temporary : Login to node1x4x2a and take a look under /localdisk/NVIDIA . You will find the CUDA Toolkit ( under gpu_computing ), the SDK and a .bashrc sample. Do not make any changes in this directory. If you are just curious to see some GPU-applications, take a look at the NVIDIA SDK, under /localdisk/NVIDIA/NVIDIA_GPU_Computing_SDK/ . Under C/src/ you will find the source code and under C/bin/linux/release the binaries to sample projects. To run the binaries, fix your LD_LIBRARY_PATH first, with something like this: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/localdisk/NVIDIA/gpu_computing/cuda_x86_64/lib64/ . Some projects don't work yet. If you want to make changes, make a copy of /localdisk/NVIDIA either locally ( /localdisk ) or to your home directory, and adjust your shell init file taking into account at least the CUDA-related paths of the sample.bashrc file under /localdisk/NVIDIA . | |||||||
Further resourcesFor questions and help, contact KonstantinosMenychtas, provided that you first have tried the following and have not found the answer you needed. |
Line: 1 to 1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Changed: | |||||||||
< < | GPU Computing in URCS | ||||||||
> > | GPU Computing in URCS | ||||||||
Changed: | |||||||||
< < | GPU Computing (GPUc) refers to the use of Graphics Processing Units (GPUs) for General-Purpose computations (i.e. not necessarily related to some fixed graphics-programming API). Alternatively, and maybe more often, GPU-Computing is referred to as GPGPU. The main target of GPU-Computing are heavy, mostly-embarrassingly-, data-parallel applications, which can efficiently exploit the massively-parallel architecture of GPUs. An impressive number of applications![]() | ||||||||
> > | |||||||||
Changed: | |||||||||
< < | node1x4x2a is our specialized, GPU-Computing-capable server, accessible through the grad-network (NFS-mount), and the target of (at least) systems research on GPU-Computing. This page is a temporary description of the hardware and software installed, and of the necessary steps you have to take before you can make use of the system for your GPUc applications. Though the system is administered by our staff, due to it being the focus of systems research, it might be frequently reboot, so you should consult KonstantinosMenychtas before you try to make use of it for your own research purpose. | ||||||||
> > | Introduction | ||||||||
Changed: | |||||||||
< < | |||||||||
> > | GPU Computing (GPUc) refers to the use of Graphics Processing Units (GPUs) for General-Purpose computations (i.e. not necessarily related to some fixed graphics-programming API). Alternatively, and maybe more often, GPU-Computing is referred to as GPGPU. The main target of GPU-Computing are heavy, mostly-embarrassingly-, data-parallel applications, which can efficiently exploit the massively-parallel architecture of GPUs. An impressive number of applications![]() | ||||||||
Hardware | |||||||||
Changed: | |||||||||
< < | node1x4x2a is a Dell T7500n Workstation, with the following characteristics : | ||||||||
> > | node1x4x2a is a Dell T7500n Workstation, with the following characteristics : | ||||||||
| |||||||||
Line: 51 to 53 | |||||||||
Software | |||||||||
Changed: | |||||||||
< < | node1x4x2a runs Fedora release 11 (Leonidas), with an x86_64 Linux kernel (the latest installed kernel is Linux 2.6.29) and the respective (x86_64) GNU Libraries. | ||||||||
> > | In order to make use of the graphics devices for GPU-Computing, you would need to be familiar with the Compute Unified Device Architecture ( CUDA![]() ![]() ![]()
Additional SoftwareIn order to make actual use of the GPUs for GPU-Computing, you will have to install additional software. You can do this at you home directory (NFS-mount).Install the NVIDIA CUDA Toolkit.
############################ CUDA START ############################ whoami=`uname -n | sed 's/\..*//'` if [[ $whoami =~ node1x4x2a ]] then export CUDA_INSTALL_PATH=$HOME/Applications/gpu_computing/cuda_x86_64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_INSTALL_PATH/lib64 export PATH=$PATH:$CUDA_INSTALL_PATH/bin export MANPATH=$MANPATH:$CUDA_INSTALL_PATH/man export C_INCLUDE_PATH=$C_INCLUDE_PATH:$CUDA_INSTALL_PATH/include export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$CUDA_INSTALL_PATH/include fi ############################ CUDA STOP #############################Because of lack of support for Fedora 11, which in fact is lack of support for gcc4.4 (the default gcc in F11), we will be using the "compatibility-version" of the gcc compiler, 3.4, which is already installed on node1x4x2a. Any .c/.cpp files compiled with gcc/g++ and linked against .cu files compiled with nvcc, won't work if you use gcc4.4. To make this customary change only valid for use with nvcc, do the following :
g++ -> /usr/bin/x86_64-redhat-linux-g++34 g++34 -> /usr/bin/x86_64-redhat-linux-g++34 gcc -> /usr/bin/x86_64-redhat-linux-gcc34 gcc34 -> /usr/bin/x86_64-redhat-linux-gcc34Do not make symbolic links to /usr/bin/gcc34 or g++34. Because of NFS and ccache, the links won't be properly resolved and you will still be using gcc/g++4.4 Install the NVIDIA CUDA SDK.This step is optional, unless you want to read/use the examples/libraries of the SDK in your code. To make use of the SDK you need to have completed the previous steps. Then
for file in *.rpm do rpm2cpio $file | cpio -idv doneThis will put the libraries and include files under the directories you have already set to your bashrc, hence make them usable without any further configuration.
41c41 < #CUDA_INSTALL_PATH ?= /usr/local/cuda --- > CUDA_INSTALL_PATH ?= /usr/local/cuda 43,45c43,45 < #ifdef cuda-install < # CUDA_INSTALL_PATH := $(cuda-install) < #endif --- > ifdef cuda-install > CUDA_INSTALL_PATH := $(cuda-install) > endif 73,75c73,75 < CXX := $(CUDA_INSTALL_PATH)/gcc_compat/g++ < CC := $(CUDA_INSTALL_PATH)/gcc_compat/gcc < LINK := $(CUDA_INSTALL_PATH)/gcc_compat/g++ -fPIC --- > CXX := g++ > CC := gcc > LINK := g++ -fPIC 81c81 < CUBIN_ARCH_FLAG := -m64 --- > CUBIN_ARCH_FLAG := 107c107 < NVCCFLAGS := --compiler-bindir $(CUDA_INSTALL_PATH)/gcc_compat --- > NVCCFLAGS :=
Further resourcesFor questions and help, contact KonstantinosMenychtas, provided that you first have tried the following and have not found the answer you needed.
| ||||||||
Changed: | |||||||||
< < | Installation | ||||||||
> > | If you are just starting with CUDA and want a couple of hands-on resources, you might want to try UIUC ECE 498 (Programming Massively Parallel Processors) class notes![]() ![]() |
Line: 1 to 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Added: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> > |
GPU Computing in URCSGPU Computing (GPUc) refers to the use of Graphics Processing Units (GPUs) for General-Purpose computations (i.e. not necessarily related to some fixed graphics-programming API). Alternatively, and maybe more often, GPU-Computing is referred to as GPGPU. The main target of GPU-Computing are heavy, mostly-embarrassingly-, data-parallel applications, which can efficiently exploit the massively-parallel architecture of GPUs. An impressive number of applications![]() Hardwarenode1x4x2a is a Dell T7500n Workstation, with the following characteristics :
Softwarenode1x4x2a runs Fedora release 11 (Leonidas), with an x86_64 Linux kernel (the latest installed kernel is Linux 2.6.29) and the respective (x86_64) GNU Libraries.Installation |