2017 Regulation CS8084 Natural Language Processing Syllabus
OBJECTIVES:
- 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
OUTCOMES:
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
TEXT BOOKS: 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. REFERENCES: 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. |