CUDA Supercomputing

CUDA stands for Compute Unified Device Architecture and describes a certain GPU architecture as well as the corresponding development environment for software engineers to generate the program code for NVIDIA GPUs.
This includes three important components:
  • the CUDA Driver API (also known as “Low-Level API”)
  • the CUDA toolkit (the actual development environment including runtime libraries)
  • a Software Development Kit (CUDA SDK) with code examples.

The CUDA toolkit is in principle a C development environment and includes the actual compiler (nvcc), an update of the PathScale C compiler, optimised FFT and BLAS libraries as well as a profiler, debugger (gdb), shared libraries for the runtime environment for CUDA programs (the “Runtime API”) and last but not least, comprehensive documentation including a developer’s manual. The CUDA SDK includes examples with source codes for matrix calculation, pseudo random number generators, image convolution, wavelet calculations and a lot more besides.

CUDA runs on all NVIDIA GPUs from series G8X and above including the GeForce, Quadro and Tesla series and enables programmers access to the highperformance capacity of massive parallel calculation components in GPUs. Unlike CPUs, GPUs have a “many-core architecture” which means that they deliver a parallelisation degree two times larger than standard CPUs. Furthermore, a GPU has its own memory which can be communicated with by the execution units of the individual cores with its extremely high bandwidth.

If the entire GPU architecture is outsourced to an external system, a gateway system is required as the main computer to which the GPU systems are connected via external PCI Express connectors.
NVIDIA Tesla Table

Thread Processor

Downloads

www.transtec.co.uk » Solutions » High Performance Computing » NVIDIA GPU Computing » CUDA