2012-06-18

1)GPU - Graphics Processing Unit - Purpose scientific & engineering Computing.
2)CPU + GPU are working together to complete task.
3)GPU , it is co-processor for accelerating the rendering of computer graphics.
4)GPUs that contain an array of uniform processors
5)Mainly applicable for
a)Parallel Computing
b)GPGPU Technologies
c)Scientific Application.
6)Calculate and Generate the positioning of GRAPHICS on a computer screen.
that can be used to implement any data-parallel algorithm.http://www.nvidia.com/docs/io/40/image.jpg
amount of parallelism application only can benefit from GPUs
7)GPUs contain Multiple cores(CUDA Core) that utilize hardware multithreading
8)GPU accelerate application running on CPU .
(By offloading some of COMPUTER-INTENSIVE and TIME CONSUMING portions of the code).
9)GPU consist of hundreds of smaller cores together.(Example 240 CUDA Cores (or) 448 CUDA cores)http://www.nvidia.com/content/tesla/images/gpu-computing-image.png
10)parallel nested loops – resulting in a GPU dynamically spawning new threads
11)these processor type are characteristic into
a)GetForce b)Quadro c)Tegra d)Tesla e)Legacy.
12)GPU cards can use lot of power -270w. Lot of power equal expose lot of heat.
13)Important Tag - OpenCL(Open Computing Language) OpenGL(Open Graphics Library),
Card is called – Host Interface Card.
GHIC – Graphics Host Interface Card.
Nvsmi tool - GPU Computer Monitoring tool
SDK – Collection of example and Documentation for GPU Computing.(Refer Pt 16)GPU Programming Language - OpenCL, CUDA(Computer Unified Device Architecture),
Applications -> System tools-> nvidia-settings
GPGPU - General Purpose On Graphics Processing Units.
16)./deviceQuery - which will show the card status, then you can try the others, e.g.,
./oceanFFT - > Show Card Status
./nbody -> show the GPU Quality.

 

Comparison Between CPU & GPU Computing.

CPU & GPU processor has three object

Register-Local Memory-Global Memory-Disk

CPU

GPU

Register

Read / Write

Read / Write

Local Memory

Read / Write

None

Global Memory

Read / Write

Read/write Note(Read-Only during computation & Write-only at end to pre-computed address)

Disk

Read / Write

Does not exist

NOTE : GPU can't read disk read/write. So GPU Require CPU access data from the disk to exchange data between nodes in the cluster without CPU , GPU is not possible.
NOTE: Due to that if the application is Parallelism then only GPU is benefit, if it is not parallelism it won't helpful not useful.

Main Objective

Increase the Performance via TASK PARALLELISM.

Increase the DATA PARALLELISM.

Independent Process (Limited Communication )

Element of vector could be divided and they do not depend one on the another.
Use the Multiple Process unit.

 

 

CPU

GPU

ALU

Number of ALU is Low

Number of ALU is High

Cache

No of Cache is High

Number of Cache is Low

Memory

DDR3

GDDR3

Monitoring

TOP

Nvidia-smi

Draw Circle,triangle

To draw circle,triangle, it is very difficult , we have to write  lot of codes  drawcircle

Very easy to draw circle,triangle,rendering using openGL

 

To performs the Mathematical Calculation

Instruct Data

NOTE : CPU allocate Job to the GPU , GPU is the accelerator

 

Important Commands
1)lspci -tv | grep VGA
2)cat /proc/driver/nvidia/cards/0
3)#lsmod | grep nvidia
4)#cat /proc/driver/nvidia/version
5)#ls /dev/nvidia
6)#nvcc -v
#nvidia-smi --loop-continuously --interval=60 --filename=/var/log/nvidia.log &
#nvidia-smi -g 0 -c 1 (Set GPU 0 in exclusive access mode)
#nvidia-smi -g 1 -c 1 (Set GPU 1 in exclusive access mode)

How Cuda Core is calculating

SM (16 SM in Single GPU ) * ( Processor )

1 SM is 16 Core

16*32 = 512 Cuda Core

Latest one is SMX.

Fermi ( SM  have 32 core )

Kepler (SMX have 192 core

Note : SIMD – Single Instruct Multiple Data

MIMD – Multiple Instruct Multiple Data

To improve the system performance we can alter

Hardware or Software.

NOTE 1)when we were using GPU computing
We won't get that much level efficiencycompare to CPU computation.
GPU – 62% (we will get better performance compare to CPU but compare to the cores we won't get that much efficiency)
For Example In CPU if we use 6 core we will get 80% efficiency
but for in GPU in 448 core we will get efficiency 60%
CPU – 80% (because of of cores less compare to gpu)
NOTE 2)GPU Computing there main advantages is if we are using any application related to Graphical display,like Matlap, Animation,fluid physics simulation it that scenario only we will get the advantages over GPU. provide the programmable developed animation.

Show more