Upload
kerry-hardy
View
216
Download
2
Embed Size (px)
Citation preview
Performance Modeling in GPGPU
By Arun BhandariCourse: HPC
Date: 01/28/12
GPU (Graphics Processing Unit)High performance many core processorsOnly used to accelerate certain parts of
the graphics pipeline.Performance pushed by game industry
Introduction to GPGPU
Stands for General Purpose Graphics Processing Unit
Also called GPU computingUse of GPU to do general purpose computing Heterogeneous co-processing computing
model
Why GPU for computing?GPU is fast
Massively parallelHigh memory Bandwidth
ProgrammableNVIDIA CUDA, OpenCL
Inexpensive desktop supercomputingNVIDIA Tesla C1060 : ~1 TFLOPS @
$1000
GPU vs CPU (Computation)
GPU vs CPU (Bandwidth)
Applications of GPGPUMATLABStatistical physicsAudio Signal
processingSpeech processingDigital image
processingVideo processingGeometric
computingWeather forecasting
Climate researchBioinformaticsMedical imagingDatabase operationsMolecular modelingControl engineeringElectronic design
automationAnd many more……
Programming ModelsData-parallel processingHigh arithmetic intensityCoherent data accessGPU programming languages
NVIDIA CUDA OpenCL
CUDA vs OpenCLConceptually identical
work-item = threadwork-group = block
Similar memory modelGlobal, local, shared memory
Kernel , host programCUDA, highly optimized for NVIDIA GPUsOpenCL can be widely used for any GPUs/
CPUs.
GPU OptimizationMaximize parallel execution
Use large inputsMinimize device to host memory overheadAvoid shared memory bank conflictUse less expensive operators
Division : 32 cycles, multiplication : 4 cycles *0.5 instead of /2.0
ConclusionsGPU computing delivers high performanceMany scientific computing problems are
parallelizableFuture of today’s technology
IssuesEvery problem is not suitable for GPUsUnclear future performance growth of GPU
hardware
Questions ???