A Compute Architecture Built on the C Language
CUDA (Compute Unified Device Architecture) is an architecture and technology offered by NVIDIA as an extension on top of the C programming language for the GPU (Graphics Processing Unit). It functions as a set of development tools built on a PathScale-based C compiler, enabling algorithms written in C to run on the GPU. CUDA was developed by NVIDIA and requires an NVIDIA GPU along with the latest driver versions to operate. It runs on every GPU within the G8X range, including GeForce, Quadro, and Tesla. NVIDIA states that due to forward-compatible code in its card architectures, programs developed for the GeForce 8 will automatically benefit from performance gains on future-generation cards without requiring any modifications. The CUDA library allows developers to control memory and Stream Processors on CUDA-capable GPUs. The first CUDA Entwickler Kit (SDK) was released on February 15, 2007.
The Paradigm of General-Purpose GPU Computation
The core concept behind CUDA is enabling general-purpose GPU computation, which makes use of the processor cores of the graphics card rather than limiting them to rendering tasks. This represents a shift toward using the GPU for computation beyond graphics. Several simple extensions to the C language support this approach, and code can write to random-access memory. This capability underpins the broader GPGPU (General-Purpose computing on Graphics Processing Units) approach, which appears alongside CUDA in related references including OpenCL and BrookGPU.

Programming Constraints Shaping GPU Code
The architecture imposes specific limitations that shape how programs must be written. Texture creation is not supported. Recursive functions are not supported and must be converted into loops. The IEEE 754 standard for double-precision floating-point numbers is not supported. For optimal performance, thread blocks must run in groups of 32, and divergent branch paths within a 32-thread group negatively affect performance. Support is restricted to NVIDIA Quadro and GeForce 8, 9, and 200 series cards, along with all newer cards.
Supported Devices and Archiving Notes
A list of supported GPUs and cards is maintained by NVIDIA, which archived the relevant page on the Wayback Machine on January 22, 2016. The source also references the NVIDIA CUDA Homepage, archived August 6, 2008, and the NVIDIA CUDA GPU Computing developer forums, archived August 3, 2008. Additional references include a developer registration page for professional developers and researchers (archived June 26, 2008), a Beyond3D article titled “Introducing CUDA – Nvidia’s Vision for GPU Computing” dated February 16, 2007, and a University of Illinois CUDA course taught by Wen-mei Hwu and David Kirk (March 9, 2007).
This explanation is adapted from Wikipedia and is available under CC BY-SA 4.0.

Diskutieren Sie mit