CUDA Installation

CUDA stands for the "Compute Unified Device Architecture", which is a free software platform provided by NVIDIA. It enables users to control GPUs by writing programs akin to C++. All CUDA softwares can be downloaded from CUDA Zone. We used CUDA version 2.0.


CUDA is available for Linux, Mac OS, and Windows, for both 32- and 64-bits. We assume that the development platform runs the Redhat Enterprise Linux (RHEL) v5.x, as we used the 64-bit RHEL v5.2. We recommend using a 64-bit operating system if you wish to use more than two GPUs in the same system.

CUDA-enabled GPUs

There are many NVIDIA products that support CUDA computation (full list). We used GeForce 9800 GX2 and Tesla D870 GPUs, which provide only single-precision arithmetic. Recent devices also support double-precision, for example, GeForce GTX 260 and 280.

CUDA-enabled Device Driver [download device driver v177.73 for 64-bit RHEL v5.x]

A specific device driver is requried to support CUDA; we used the driver version 177.73 for 64-bit RHEL v5.x. This task requires the root permission of the system. For example, for 64-bit RHEL v5.x, run

> sudo sh

Create Device Nodes for CUDA

To enable CUDA, a driver module should be loaded, and device nodes should be created under /dev, whenever one reboots the system. We provide a script that does all these chores automatically after booting (NVload script). In RHEL v5.x, copy the script file under /etc/init.d, change its permission to 755 (root permission is required), and reboot the machine. Other Linux systems may have different mechanisms to load the script during boot; ask system administrators for details.


CUDA Toolkit [download CUDA 2.0 toolkit for 64-bit RHEL v5.x]

The CUDA Toolkit includes compilers and libraries that are required to run CUDA programs. This can be installed in a system directory (/usr/local/cuda), or in a user directory. For example, for 64-bit RHEL v5.x, run

> sh

CUDA SDK [download CUDA 2.0 SDK]

The software development platform (SDK) includes various examples and a library that is useful to write simple CUDA programs. For example, for 64-bit RHEL v5.b, run

> sh

Matlab Plug-in for CUDA [download Matlab plug-in for CUDA]

This package contains the files required to build CUDA binaries with Matlab MEX interface.

CUDA Visual Profiler (optional) [download Visual Profiler for Linux]

The visual profiler enables users to monitor various performance measures of their programs. This program requires X-windows and related libraries.

Platform Details

This is a detailed description of our development system. We recommend using the default gcc compiler and linker that come with the system.

  • Model : Dell Precision T5400.
  • CPU : Intel Xeon Quad-core processor E5430 (2.66GHz).
  • Memory : 4GB of DDR2-800 type memory.
  • OS : 64-bit Redhat Enterprise Linux server v5.2.
  • Compiler : gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)
  • GPUs : GeForce 9800 GX2, and Tesla D870.
  • CUDA version : 2.0.
  • CUDA driver : 177.73 for 64-bit RHEL v5.x.

    Return to Signal Reconstruction on GPUs Home Page