NVIDIA CUDA Development Tools – Fermi

Intoduction

The Nvidia Tesla C2070 and M2090 Computing Processors fuel the transition to parallel computing and bring the performance of a small cluster to the desktop.

NVIDIA CUDA development tools provide four key components

CUDA Driver
CUDA Toolkit
CUDA Software Development Kit (SDK) with code samples
CUDA Documentation

Vendor : nVidia Tesla
Version : 5.0
License :Non-commerical

CUDA Driver

Introduction

CUDA drivers are needed to drive the massively parallel Nvidia GPU’s. The CUDA drivers are already installed and loaded with the OS kernel.

Version: NVIDIA Driver 304.54 for Linux

CUDA Toolkit

Introduction

The CUDA Toolkit is a C language development environment for CUDA-enabled GPUs. The CUDA development environment includes

* nvcc C compiler
* CUDA FFT and BLAS libraries for the GPU
* gdb debugger for the GPU
* CUDA programming manual

Release: 5.0

NVIDIA CUDA Compiler

Introduction

CUDA is the compute engine in NVIDIA graphics processing units or GPUs, that is accessible to software developers through industry standard programming languages. Programmers use C for CUDA using the nvcc compiler.

Purpose of nvcc

This compilation trajectory involves several splitting, compilation, preprocessing, and merging steps for each CUDA source file, and several of these steps are subtly different for different modes of CUDA compilation (such as compilation for device emulation, or the generation of fat device code binaries). It is the purpose of the CUDA compiler driver nvcc to hide the intricate details of CUDA compilation from developers.

Vendor : nVidia Tesla
Version : 0.2.1221

Compiling with CUDA

In order to use nvcc to compile cuda programs, following environmental setup is requried:

CSH – Shell:

Add the following lines in your .cshrc file

setenv CUDA_INSTALL_PATH /usr/local/cuda-5.0
set path=(/usr/local/cuda-5.0/bin $path)
setenv LD_LIBRARY_PATH /usr/local/cuda-5.0/lib64

Run the command source .cshrc

BASH – Shell:

Add the following lines in your .bashrc file

export CUDA_INSTALL_PATH=/usr/local/cuda-5.0
export PATH=/usr/local/cuda-5.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64
export LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib:$PATH

Run the command source .bashrc

nvcc filename.cu

CUDA SDK

Introduction

The CUDA Developer SDK provides examples with source code and utilities to help you get started writing software with CUDA. The SDK includes dozens of code samples covering a wide range of applications like

* Parallel bitonic sort
* Matrix multiplication
* Matrix transpose
* Performance profiling using timers
* Parallel prefix sum (scan) of large arrays

To run the sample cuda programs

For C Shell

Add the following line in .cshrc file

set path=(/usr/local/cuda-5.0/samples/bin/linux/release $path)

Run the command source .cshrc

For Bash shell

Add the following line in .bashrc file

export PATH=/usr/local/cuda-5.0/samples/bin/linux/release:$PATH

Run the command source .bashrc

To run a sample program

histogram

The source files are located in

/usr/local/cuda-5.0/samples/3_Imaging

CUDA Documentation

1. Nvidia CUDA Programming Guide

2. Nvidia CUDA Best Practices Guide

3. Nvidia CUDA Reference Manual

4. Nvidia CUDA GDB User Manual

5. Nvidia CUDA Toolkit

Report Problems to:

If you encounter any problem in using CUDA Development Tools please report to SERC helpdesk at the following email address helpdesk.serc@iisc.ac.in or contact System Administrators in 109 (SERC).