CS8076-GPU ARCHITECTURE AND PROGRAMMING Syllabus 2017 Regulation
GPU ARCHITECTURE AND PROGRAMMING Syllabus 2017 Regulation,CS8076-GPU ARCHITECTURE AND PROGRAMMING Syllabus 2017 Regulation
CS8076 GPU ARCHITECTURE AND PROGRAMMING L T P C 3 0 0 3
- To understand the basics of GPU architectures
- To write programs for massively parallel processors
- To understand the issues in mapping algorithms for GPUs
- To introduce different GPU programming models
UNIT I GPU ARCHITECTURE 12
Evolution of GPU architectures – Understanding Parallelism with GPU –Typical GPU Architecture – CUDA Hardware Overview – Threads, Blocks, Grids, Warps, Scheduling – Memory Handling with CUDA: Shared Memory, Global Memory, Constant Memory and Texture Memory.
UNIT II CUDA PROGRAMMING 8
Using CUDA – Multi GPU – Multi GPU Solutions – Optimizing CUDA Applications: Problem Decomposition, Memory Considerations, Transfers, Thread Usage, Resource Contentions.
UNIT III PROGRAMMING ISSUES 8
Common Problems: CUDA Error Handling, Parallel Programming Issues, Synchronization, Algorithmic Issues, Finding and Avoiding Errors.
UNIT IV OPENCL BASICS 8
OpenCL Standard – Kernels – Host Device Interaction – Execution Environment – Memory Model – Basic OpenCL Examples.
UNIT V ALGORITHMS ON GPU 9
Parallel Patterns: Convolution, Prefix Sum, Sparse Matrix – Matrix Multiplication – Programming Heterogeneous Cluster.
TOTAL: 45 PERIODS
Upon completion of the course, the students will be able to
- Describe GPU Architecture
- Write programs using CUDA, identify issues and debug them
- Implement efficient algorithms in GPUs for common application kernels, such as matrix multiplication
- Write simple programs using OpenCL
- Identify efficient parallel programming patterns to solve problems
- Shane Cook, CUDA Programming: ―A Developer’s Guide to Parallel Computing with GPUs (Applications of GPU Computing), First Edition, Morgan Kaufmann, 2012.
- David R. Kaeli, Perhaad Mistry, Dana Schaa, Dong Ping Zhang, ―Heterogeneous computing with OpenCL, 3rd Edition, Morgan Kauffman, 2015.
- Nicholas Wilt, ―CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison – Wesley, 2013.
- Jason Sanders, Edward Kandrot, ―CUDA by Example: An Introduction to General Purpose GPU Programming, Addison – Wesley, 2010.
- David B. Kirk, Wen-mei W. Hwu, Programming Massively Parallel Processors – A Hands-on Approach, Third Edition, Morgan Kaufmann, 2016.