Course Name: GPU Architectures and Programming

Course abstract

The course covers basics of conventional CPU architectures, their extensions for single instruction multiple data processing (SIMD) and finally the generalization of this concept in the form of single instruction multiple thread processing (SIMT) as is done in modern GPUs. We cover GPU architecture basics in terms of functional units and then dive into the popular CUDA programming model commonly used for GPU programming. In this context, architecture specific details like memory access coalescing, shared memory usage, GPU thread scheduling etc which primarily effect program performance are also covered in detail. We next switch to a different SIMD programming language called OpenCL which can be used for programming both CPUs and GPUs in a generic manner. Throughout the course we provide different architecture-aware optimization techniques relevant to both CUDA and OpenCL. Finally, we provide the students with detail application development examples in two well-known GPU computing scenarios.

Course Instructor

Media Object

Prof. Soumyajit Dey

I joined the dept. of CSE, IIT Kgp in May 2013. I worked at IIT Patna as assistant professor in CSE dept. from beginning of Spring 2012 to end of Spring 2013. I received a B.E. degree in Electronics and Telecommunication Engg. from Jadavpur University, Kolkata in 2004. I received an M.S. followed by PhD degree in Computer Science from Indian Institute of Technology, Kharagpur in 2007 and 2011 respectively. My research interests include 1) Synthesis and Verification of Safe, Secure and Intelligent Cyber Physical Systems, 2) Runtime Systems for Heterogeneous Platforms. More specifically, as part of my second research interest, I work on building GPGPU application scheduling frameworks considering both a) embedded real time applications, and b) GPGPU cluster level workloads. I have been successfully running a popular course titled “High Performance Parallel Programming” ( in CSE IITKGP for the last three years jointly with Prof. Pralay Mitra.
More info

Teaching Assistant(s)

Srijeeta Maity


Anirban Ghose


 Course Duration : Jan-Apr 2020

  View Course


 Enrollment : 18-Nov-2019 to 03-Feb-2020

 Exam registration : 16-Dec-2019 to 20-Mar-2020

 Exam Date : 26-Apr-2020




Certificate Eligible

Will be announced

Certified Category Count


Will be announced


Will be announced

Successfully completed

Will be announced


Will be announced





Final Score Calculation Logic

  • Assignment Score out of 100 = Average of best 8 out of 12 assignments.
  • NOTE:
  • Week 4 assignment 2 is not considered as mentioned and the score for the same is not displayed here.
  • Assignment Score/week = average of scores of all assignments in that week
  • Best 8/12 such scores will be considered for Assignment Score out of 100

Modified Pass certificate Eligible >=40/100
Toppers list will be updated shortly....!

Enrollment Statistics

Total Enrollment: 2626

Registration Statistics

Total Registration : 176

Assignment Statistics

Assignment Score

Graph will be updated shortly...!

Score Distribution Graph - Legend

Assignment Score: Distribution of average scores garnered by students per assignment.
Exam Score : Distribution of the final exam score of students.
Final Score : Distribution of the combined score of assignments and final exam, based on the score logic.