About
NSM Nodal Centre for Training in HPC and AI, IIT Madras is organizing an online course on GPU Programming. The course is free, for everyone. The course is taught via recorded lectures and doubt sessions. The course is derived from a similar course taught at IIT Madras in parallel.
The Indian Institutes of Technology are the premier autonomous public technical and research universities located across India. They are governed by the Institutes of Technology Act, 1961, which has declared them as Institutes of National Importance and lays down their powers, duties, and framework for governance.
Topics
Introduction
- history, graphics processors, graphics processing units, GPGPUs
- clock speeds, CPU/ GPU comparisons, heterogeneity
- accelerators, parallel programming, CUDA/ OpenCL/ OpenACC, Hello World
Computation
- kernels, launch parameters
- thread hierarchy, warps/ wavefronts, thread blocks/ workgroups, streaming multiprocessors
- 1D/ 2D/ 3D thread mapping, device properties, simple programs
Memory
- memory hierarchy, DRAM/ global, local/ shared, private/ local, textures, constant memory
- pointers, parameter passing, arrays and dynamic memory, multi-dimensional arrays
- memory allocation, memory copying across devices
- programs with matrices, performance evaluation with different memories
Synchronization
- memory consistency
- barriers (local versus global), atomics, a memory fence
- prefix sum, reduction
- programs for concurrent data structures such as worklists, linked-lists
- synchronization across CPU and GPU
Functions
- device functions,host functions, kernels, functors
- using libraries (such as Thrust), developing libraries
Support
- debugging GPU programs
- profiling, profile tools, performance aspects
Streams
- asynchronous processing, tasks, task-dependence
- overlapped data transfers, default stream, synchronization with streams
- events, event-based-synchronization
- overlapping data transfer and kernel execution, pitfalls
Case studies
- graph-algorithms
Advanced topics
- dynamic parallelism
- unified virtual memory
- multi-GPU processing
- peer access
- heterogeneous processing
Who may attend this course?
- if you have an interest in learning to program GPUs
- students from science and engineering
- company personnel interested in programming GPUs
- scientists and domain experts
Registration
The course is online with recorded lectures. The duration of the course is 14 weeks. There will be monthly doubt clearing sessions. There will be an optional online exam for the interested participants. There is no course fee.
To register for the course, click here.
For full notification, click the link below.
Free Online Course on GPU Programming by IIT Madras
1 thought on “Free Online Course on GPU Programming by IIT Madras: Registrations Open”
I want to join this