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.
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.
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 NVIDIA-Linux-x86_64-177.73-pkg2.run
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.
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 NVIDIA_CUDA_Toolkit_2.0_rhel5.1_x86_64.run
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 NVIDIA_CUDA_SDK_2.02.0807.1535_linux.run
This package contains the files required to build CUDA binaries with Matlab MEX interface.
The visual profiler enables users to monitor various performance measures of their programs. This program requires X-windows and related libraries.
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