GPU Computing Class at Analogic

Presenters:

David Kaeli

Rodrigo Dominguez  

Perhaad Mistry  

Dana Schaa  

Matthew Sellitto

Class Schedule

Time - 9:00-12:00  

Location - Corporate Training Room  


April 7 - Parallel hardware and software  

Topics - control and data flow, shared memory vs. message passing, thread-level vs. data-level parallelism  


April 14 - Introduction to GPU Computing with CUDA  

Topics - GPU programming, NVIDIA hardware  


April 28 - Intermediate CUDA Programming  

Topics - Syntax, sample programs, debugging  


May 5 - Introduction to OpenCL Computing  

Topics - Syntax, examples  


May 12 - OpenCL programming on AMD GPUs and X86 CPUs  

Topics - Hands-on programming and debugging


Class Slides

All slides (One zip archive)


Individual Slide Decks (pdf) are below:


Class 1 slides  


Class 2 and Class 3a


Running Class-2 examples on Medusa


Class 3b Slides (CUDA Debugging)


Class 4a Slides (OpenCL Introduction)


Class 4b Slides (OpenCL Introduction)


Class 5A Slides (Images)


Class 5B Slides (Events)


Class 5C Slides (OpenCL on the CPU)


Class 5D Slides (OpenCL Extensions)


Class 5E Slides (Profiling and Debugging)


Homework

Please try to review the first 5 chapters of the introductory material provided in the first reference below.

Week 1 - parallelize the pi program using pthreads.  

Reference material - Parallel Programming

Introductory material on parallel programming  


A nice tutorial on Pthreads  


Reference material - CUDA

The CUDA 2.0 Programmer's Reference Manual  


CUDA courses taught at various Universities and NVIDIA courses


Reference material - OpenCL

The AMD OpenCL Zone (you will need to create a password on AMD's system for this site)


OpenCL 1.1 Reference Pages (Khronos)


OpenCL 1.1 Specification (Khronos)


OpenCL Programming Guide