Compute Unified Device Architecture
(CUDA) defines a set of extensions to
which enable general purpose programming of graphics processors supplied by
. The extensions also work in
is an open standard alternative.
There is a lot of work published on the use of this architecture to speed up numerical computation. This can be done either using the memory and processors available in the graphics processor of the computer, or made available by adding extra cards for this purpose.
Note: Successive versions of CUDA differ significantly. CUDA 4.0 has a lot of features not present in the previous versions, including CUDA 3.2. Also, older graphics devices will not be able to use all the features of later software. CUDA includes software to detect the hardware version of the graphics display so that programs can test for needed features. There is a lot of example code available which illustrates this.
CUDA 4.1 also differs significantly and is said to have a different C and C++ compiler based on LLVM (see
). It also has Thrust 1.5.1 (See
There is a series of articles on CUDA online from
- the first is at
by Rob Farber
Others in the series can be found by searching on his name:
by Rob Farber is a new book (2012) which looks extremely useful. --
of this page (last edited
March 5, 2012
with title or text search