COS860 - Advanced CUDA Programming
3º Trimester 2012
Instructor: Ricardo Farias
Center of Technology, Building H, Room H304, Office 01
Phone Number: +55 21 2562-8647
http://www.cos.ufrj.br/~rfarias
Abstract
In this course we cover advanced CUDA programming techniques. Among others: GPU timing; concurrent memory access; streams; texture map; atomic operations; critical sections; graphical interoperability; multi-gpu programming; and hybrid concurrent CPU/GPU processing.
General Information
This is a 3 credit and 45 hour course.
The final grade will be given based on the implementation of a innovative algotrithm for GPU.
Prerequisites:
It is assumed the student to have strong background on C/C++ programming language and have attended
COS859 - Introduction to CUDA Programming
.
Lectures:
September, October and November, 2012; Wednesday, 8:00 - 12:00. Building H, Room H319 - Lab LUG2.
Tentative Course Topics
GPU timing
Memory Accesses Conflict
GPU Streamers
Atomic Operations
Graphics Interoperability
Techniques for Hybrid CPU/GPU Concurrent Processing
Multi GPU Programming
Programming for Clusters of GPU with MPI
Programming in PTX ( Parallel Thread eXecution )
Text Books
Programming Massively Parallel Processors - A Hands-on Approach, by David B. Kirk and Wen-mei W. Whu (MK - Morgan Kaufmann).
CUDA by Example - An Introduction to General-Purpose GPU Programming, By Jason Sanders and Edward Kandrot (Eddison-Wesley).
CUDA reference materials:
NVIDIA CUDA Programming Guide
CUDA Reference Manual
CUDA Online Reference