120 likes | 269 Views
Performance Modeling in GPGPU. By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit). High performance many core processors Only used to accelerate certain parts of the graphics pipeline. Performance pushed by game industry. Introduction to GPGPU.
E N D
Performance Modeling in GPGPU By ArunBhandari Course: HPC Date: 01/28/12
GPU (Graphics Processing Unit) • High performance many core processors • Only 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 computing • Use of GPU to do general purpose computing • Heterogeneous co-processing computing model
Why GPU for computing? • GPU is fast • Massively parallel • High memory Bandwidth • Programmable NVIDIA CUDA, OpenCL • Inexpensive desktop supercomputing NVIDIA Tesla C1060 : ~1 TFLOPS @ $1000
Applications of GPGPU • MATLAB • Statistical physics • Audio Signal processing • Speech processing • Digital image processing • Video processing • Geometric computing • Weather forecasting • Climate research • Bioinformatics • Medical imaging • Database operations • Molecular modeling • Control engineering • Electronic design automation And many more……
Programming Models • Data-parallel processing • High arithmetic intensity • Coherent data access • GPU programming languages • NVIDIA CUDA • OpenCL
CUDA vsOpenCL • Conceptually identical work-item = thread work-group = block • Similar memory model • Global, local, shared memory • Kernel , host program • CUDA, highly optimized for NVIDIA GPUs • OpenCL can be widely used for any GPUs/ CPUs.
GPU Optimization • Maximize parallel execution • Use large inputs • Minimize device to host memory overhead • Avoid shared memory bank conflict • Use less expensive operators • Division : 32 cycles, multiplication : 4 cycles • *0.5 instead of /2.0
Conclusions • GPU computing delivers high performance • Many scientific computing problems are parallelizable • Future of today’s technology Issues • Every problem is not suitable for GPUs • Unclear future performance growth of GPU hardware