National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6530 : GPU Architecture and Programming { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Sumanta Pyne

Syllabus

Module 1 :

1. Review of Traditional Computer Architecture – Basic five stage RISC Pipeline, Cache Memory, Register
2. SIMD instructions
3. GPU architectures - Streaming Multi Processors, Cache Hierarchy, The Graphics Pipeline
4. Introduction to CUDA programming
5. Multi-dimensional mapping of dataspace, Synchronization
6. Warp Scheduling, Divergence
7. Memory Access Coalescing
8. Optimization examples : optimizing Reduction Kernels
9. Optimization examples : Kernel Fusion, Thread and Block
10. OpenCL basics
11. OpenCL for Heterogeneous Computing
12. Application Design : Efficient Neural Network Training/Inferencing

Course Objective

1 .

Enable students to utilize GPU architectures.

3 .

Train students for designing hardware and software for GPU computing.

Course Outcome

1 .

Students will have basic knowledge of GPU architecture and programming.

Essential Reading

1 .

John L.Hennessy and David A. Patterson, Computer Architecture A Quantitative Approach, Elsevier

2 .

David Kirk and Wen-mei Hwu, Programming Massively Parallel Processors, Elsevier

Supplementary Reading

1 .

Benedict Gaster,Lee Howes, David R. Kaeli, Heterogeneous Computing with OpenCL, Elsevier

2 .

Jason Sanders, Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, NVDIA