Lawctopus Law School
Lawctopus Law School

Free Online Course on GPU Programming by IIT Madras: Registrations Open


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.



  • history, graphics processors, graphics processing units, GPGPUs
  • clock speeds, CPU/ GPU comparisons, heterogeneity
  • accelerators, parallel programming, CUDA/ OpenCL/ OpenACC, Hello World


  • kernels, launch parameters
  • thread hierarchy, warps/ wavefronts, thread blocks/ workgroups, streaming multiprocessors
  • 1D/ 2D/ 3D thread mapping, device properties, simple programs


  • 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


  • 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


  • device functions,host functions, kernels, functors
  • using libraries (such as Thrust), developing libraries


  • debugging GPU programs
  • profiling, profile tools, performance aspects


  • 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?
  1. if you have an interest in learning to program GPUs
  2. students from science and engineering
  3. company personnel interested in programming GPUs
  4. scientists and domain experts

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


Subscribe to our newsletter

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *