Getting Started with GPU Computing: Programming Paradigm and Optimization Principles

Institute of High Performance Computing, A*STAR, Singapore, August 24, 2009



Over the past several years, general purpose GPU (GPGPU) computing has been embraced as a way to dramatically speed-up scientific and engineering calculations. However, achieving high-performance on GPUs requires a fundamental (but relatively simple) shift in algorithmic design philosophy. In this introductory talk, we will discuss the implications and consequences of the GPU hardware architecture, CUDA/OpenCL constructs used to express and organize GPU computations, basic steps required to port a CPU-based code to the GPU, and optimization principles that are critical for high-performance.