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” (http://cse.iitkgp.ac.in/~soumya/hp3/hp3.html) in CSE IITKGP for the last three years jointly with Prof. Pralay Mitra.
More info

Teaching Assistant(s)

Srijeeta Maity

P.hD

Anirban Ghose

PhD

 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

Enrolled

2626

Registered

14

Certificate Eligible

7

Certified Category Count

Gold

1

Silver

0

Elite

2

Successfully completed

4

Participation

2

Success

Elite

Silver

Gold





Legend

AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75 AND FINAL SCORE >=40
BASED ON THE FINAL SCORE, Certificate criteria will be as below:
>=90 - Elite + Gold
75-89 -Elite + Silver
>=60 - Elite
40-59 - Successfully Completed

Final Score Calculation Logic

  • Assignment Score = Average of best 8 out of 12 assignments.
  • Final Score(Score on Certificate)= 75% of Exam Score + 25% of Assignment Score
GPU Architectures and Programming - Toppers list

VIGNESH BASKARAN 96%

Qualcomm

Enrollment Statistics

Total Enrollment: 2626

Registration Statistics

Total Registration : 176

Assignment Statistics




Assignment

Exam score

Final score

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.