GPU programming

The course (foreword)

Structure

Introduction

general aspects of parallel computing and GPGPU fundamentals;

Second part

practical details (CUDA, OpenCL).

Stop me if I’m going to fast.

Interrupt me if I’m not being clear. Ask earlier rather than later.

(More detailed) Overview

Choices made

CUDA

by NVIDIA, for NVIDIA GPUs, didactically more appropriate to introduce some of the concepts

OpenCL

cross-platform (Mac OS X, Linux, Windows, Android), multi-vendor (NVIDIA, AMD, Intel, IBM, Altera, ARM, etc) standard for parallel computing. Supports CPUs, GPUs, DSPs, FPGAs. The same program can run on any supported hardware. Solution used by a multitude of programs and libraries: OpenCV, MATLAB, PhotoShop, LibreOffice, etc

Table of contents