HBeonLabs

Committed to excellence!!!

CUDA-- Compute Unified Device Architecture

On April 17, 2007, NVIDIA released the GeForce 8500 GT, 8600 GT, and 8600 GTS for the mainstream market. The series of high computing GPU are based on GeForce 8. This is the eighth generation of NVIDIA' s GeForce graphics cards. This is the company's first GPU based on unified shader architecture. Along with this release NVIDIA is also distributing a software development CUDA ( Compute Unified Device Arcitecture for developing innovative applications on GeForce 8 based GPUs. NVIDIA's CUDA SDK is being employed in a plethora of fields right from the finance to Neural network and fuzzy logic to simulations for Nanotechnology.

The SDK being open source is one of the main driving forces in its popularity, the paramount reason being hardware abstraction. Programming on GPUs is not new--traditionally known as GPGPU ( General Purpose Computing on Graphics Processing Unit), have been performed initially on machines like the Ikonas [England 1978], the Pixel Machine [Potmesil and Hoffert 1989] and Pixel-Planes 5 [Rhoades, et al. 1992]. The wide deployment of GPUs in the last several years has resulted in an increase in experimental research with graphics hardware. The GPUs thus are not limited to its use as a graphics engine but as parallel computing architecture capable of performing floating point operations at the rate of Tera bytes/s. The traditional GPUs however require the use of graphics APIs, and thus the developer must be familiar with the in depth knowledge of graphics programming and APIs.  CUDA has several advantages over traditional general purpose computation on GPUs (GPGPU) using graphics APIs.

  • Scattered reads – code can read to arbitrary addresses in memory.
  • It is high level-basically an extension to C language. So the learning rate is much higher as compared to the traditional GPGPU.  
  • Shared memory – CUDA exposes a fast shared memory region (16KB in size) that can be shared amongst threads. This can be used as a user-managed cache, enabling higher bandwidth than is possible using texture lookups.
  • Faster downloads and readbacks to and from the GPU
  • Full support for integer and bit wise operations, including integer texture lookups.

   The following figure ( taken from wiki) shows the processing flow of CUDA.

 


Example of CUDA processing flow
1. Copy data from main mem to GPU mem
2. CPU instructs the process to GPU
3. GPU execute parallel in each core
4. Copy the result from GPU mem to main mem

 See the forum for latest discussions on CUDA. For training ( both online and  contact classes) on CUDA click here

Welcome to HBeonLabs

Language Translator

Testimonials

  • "I am very lucky to do my 6 months training at HBeonLabs. Here I learnt in-depth knowledge about microcontroller and how to interface various devices to it. I am the only person ..."
    Vineet Sangha
    Thapar University,Patiala
  • "I am Rishabh Mittal, working as a network consultant engineer in Ericsson,Gurgaon. Due to HBeonLabs I am able to crack my interview. I have learnt a lot from HBeonLabs during my..."
    Rishabh Mittal
    Galgotias College of Engineering and Technology , Greater Noida

Newest Members

   

Visitor Counter