This is a glossary to GPU computing for beginners. For advance details please refer to texts on GPU Computing
1-What is the full form of GPUGPU
General Purpose Computation on Graphical Processing Unit.
2-What is GPU Computing/GPGPU?
The graphics card that we use in our PC for gaming and visual enhancement has a Graphics Processing Unit (GPU) and some dedicated off-chip DRAM. GPUs in general have a highly parallel architecture with hundreds and thousands of processing cores (compare this with CPUs: two or four cores). With such a parallel architecture, GPUs provide excellent computational platform, not only for graphical applications but any application where we have significant data parallelism. For example one can accelerate virus scanning by off loading the virus-matching task on the GPU. 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. People have realized the potential of GPUs for highly computational tasks, and have been working in general purpose computation on GPUs (GPGPU) for a long time. However, life before NVIDIA’s Compute Unified Device Architecture (CUDA) and OpenCL was extremely difficult for the programmer, since the programmers need to call graphics API (e.g. Open GL). This also has a very slow learning rate. Current development APIs CUDA and OpenCL solved all these problems by providing a hardware abstraction, hiding the inner details of the GPUs, and the programmer is freed from the burden of learning graphics programming.
Apart from consumer applications hundreds of scientific problems are being solved using GPUs. Click here to have a glimpse of some of the latest applications getting performance boost from OpenCL. In short GPU Computing is going to rule the industry from Biotechnology and Biochemistry to Fluid Dynamics and Internet Security Auditing.
3- Which API is used for GPU Computing?
NVIDIA CUDA & OpenCL.
4- What is the full form of CUDA?
Compute Unified Device Architecture- developed by NVIDIA. The software runs only on NVIDIA Graphics cards.
5- What is OpenCL?
OpenCL -an Open standard for GPU Computing, is being supported by Apple, Intel, AMD, NVIDIA and all the other industry leaders.
OpenCL, short for Open Computing Language, is the first open, royalty-free standard for cross-platform, parallel programming on modern processors found in personal computers, servers and hand-held/embedded devices. Applications ranging from gaming to scientific and medical imaging can greatly benefit from OpenCL by improving speed and responsiveness. The standard is managed by the non-profit technology consortium Khronos Group.
6- Why should I learn GPU computing?
Because you don’t have means of accelerating and improving your applications except utilizing the power of 100s of processing cores of GPUs. Google “ Why GPUs” for more info.
7- What are the prerequisites for learning GPU Computing?
You should know basic C/C++ programming, and some info on the basic computer architecture.
If you don’t know these we can help you in getting started. Click here to go to our Training Programs page.
8- Can I get the training online
Yes. Send us a query: firstname.lastname@example.org
9- What is GFLOPS?
Giga Floating Point Operations Per Second
10- How many processor cores are present in recent Intel Core i7?
Four processor core
11- How many processor cores are present in AMD ATIs High end Graphics cards?
More than 1000
12- What is the typical speed at which data is fetched from DRAM inside Graphics card?
13- What is a DRAM?
Dynamic Random Access Memory. It is a volatile memory and is slower than SRAMs. But it is costlier as well. As a programmer you should avoid accessing this memory whenever possible and use shared memory/registers inside the GPUs. This can speed us the applications.
14- Which part of CPU is responsible for calculation-?
15- When to use CPUs and when to use GPUs?
You should offload all the parallel computation to GPUs, while any serial work should be kept on the CPU only.
16- What is ISA?
Instruction Set Architecture- a part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O. GPU architectures have their own ISAs, such as PTX ISA for NVIDIA GPUs.
17- What is Accelerated Processing Unit ?
An Accelerated Processing Unit (APU) integrates a CPU and a GPU on the same die thus improving data transfer rates between these components while reducing power consumption. APUs can also include video processing and other application-specific accelerators. Examples: AMD Fusion, Intel's Sandy Bridge and NVIDIA's Project Denver.