Massive Parallel Computing Programming on GPU
Transcript of Massive Parallel Computing Programming on GPU
Agenda
• History
• Why do we use GPUs?
• Presentation
• Why are them so fast?
• How to use it?– GPU APIs
• Advantages / disadvantages
• Where to use it?
• Who uses it?
History
• Graphics involves a lot of single precision floating point operations.
• Modern graphics is too much for CPU’s.
• Additional cooprocessing unit required – GPU.
• Additional demands for GPU – it became moreuniversal.
Producers
• nVidia – GeForce, Quadro, Tesla series
• AMD/ATI – Radeon series
• S3 – Chrome series
• Matrox
• VIA
Why do we use GPUs?
0
1000
2000
3000
4000
5000
6000
7000
8000
Current best CPU - Intel Core i7-990X Extreme
Edition
Current best GeForce – GTX
580
Current best Radeon - HD
6990
2000’s fastest computer on Earth – ASCI
White
107,55
1581
5100
7304
Present time
GFLOPS
Presentation
• nVidia’s Computing SDK Examples
– Particle physics simulation
– N-body simulation
• Author’s example
– CUDA DX10 Raytracer
Why are them so fast?
• Shaders – simple processing units used for graphics – now more universal FPUs.
• GTX 580 – 512 shaders.
• Radeon 6990 – 1536 shaders.
• So – parallel computing.
• Each shader has its own small cache memory.
• They share a lot of diffrent commonmemories.
CUDA
• nVidia’s First GPU API – since 2006, GeForce8800
• Example for others
• C based coding
• Extremely dangerous – pointers withoutmemory control
OpenCL
• Apple’s development – 2008
• C like
• Implemented by both AMD and nVidia (CUDA programs still faster)
DirectCompute
• Microsoft’s view of GPU computing on DirectX10 and 11 devices
• C and C++ like (programming like in DirectX)
Summarize
Advantages
• Power (GFLOPS)
• Parallel programmingtechniques can show its fullpotential
• Cheap processing units
Disadvantages
• Power (Watts)
• Parallel programmingtechniques
• Complex programming(low level code)
Where to use it?
• Complex, massive floating point computations
• Simulations involving multiple factors
• Parallel algorithms
Who uses it?
• Universities (simulations)
• Industry (stock exchange)
• Anywhere where parallel algorithms can help.
Sources
• http://www.hardwareinsight.com/nvidia-cuda/
• www.pcpro.co.uk
• www.amd.com
• www.nvidia.com