- 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
1. Daniel Jurafsky, James H. Martin―Speech and Language Processing: An
Introduction to Natural Language Processing, Computational Linguistics andSpeech, Pearson Publication, 2014.
2. Steven Bird, Ewan Klein and Edward Loper, ―Natural Language Processing with Python‖, First Edition, O‗Reilly Media, 2009.
1. Breck Baldwin, ―Language Processing with Java and LingPipe Cookbook, Atlantic Publisher, 2015.
2. Richard M Reese, ―Natural Language Processing with Java‖, O‗Reilly Media, 2015.
3. Nitin Indurkhya and Fred J. Damerau, ―Handbook of Natural Language Processing, Second Edition, Chapman and Hall/CRC Press, 2010.
4. Tanveer Siddiqui, U.S. Tiwary, ―Natural Language Processing and Information Retrieval‖, Oxford University Press, 2008.