Course Title: 
GPU Architecture and Programming
Course Code: 
Year Taught: 
Postgraduate (PG)
School of Engineering

'GPU Architecture and Programming' is an elective course offered for the M. Tech. in Computer Science and Engineering program at School of Engineering, Amrita Vishwa Vidyapeetham.

Introduction to Parallel Programming - Introduction to OpenCL - OpenCL Device Architectures - Basic OpenCL – examples - Understanding OpenCL - Concurrency and Execution Model - Dissecting a CPU/GPU - OpenCL Implementation – OpenCL.

Case study: Convolution, Video Processing, Histogram and Mixed Particle Simulation - OpenCL Extensions - OpenCL Profiling and Debugging – WebCL, Applications of GPU Architecture like Gaming, Computer Vision, etc.


  1. Benedict R Gaster, Lee Howes, David, R. Kaeli, Perhaad Mistry and Dana Schaa, “Heterogeneous Computing with OpenCL”, Elsevier, 2013.
  2. Aaftab Munshi, Benedict Gaster, Timothy G. Mattson, James Fung & Dan Ginsburg, “OpenCL Programming Guide”, Addison-Wesley Professional, 2011.
  3. RyojiTsuchiyama, Takashi Nakamura, TakuroIizuka & Akihiro Asahara, “The OpenCL Programming Book”, Fixstars Corporation, 2010.
  4. Matthew Scarpio, “OpenCL in Action: How to Accelerate Graphics and Computations”, Manning Publications, 2011.

At the end of the course the students will be able to

  Course Outcome Bloom’s Taxonomy Level
CO 1 Understand GPU computing architecture L2
CO 2 Code with GPU programming environments L5
CO 3 Design and develop programs that make efficient use of the GPU processing power L5
CO 4 Develop solutions to solve computationally intensive problems in various fields L6