IT306
Course Name:
Parallel and Distributed Problem Solving (IT306)
Programme:
B.Tech (AI)
Semester:
Fifth
Category:
Programme Core (PC)
Credits (L-T-P):
(3-0-2) 4
Content:
Introduction to Parallel Computer Architectures, Shared memory and distributed memory programming techniques, Parallel Programming with OpenMP, MPI, Parallel Programming techniques like Task Parallelism using TBB, TL2, Cilk++ etc. and software transactional memory techniques. Introduction to accelerator programming using CUDA/OpenCL and Xeon-phi. Concepts of Heterogeneous programming techniques. AI applications on parallel computing, Projects to implement a few of the techniques introduced in this course.
References:
J. Dongara, I. Foster, G. Fox, W. Cropp et al, "Sourcebook of Parallel Programming", Morgan Kaufmann, 2002.
Barbara Chapman et.al, “OpenMP: Portable Shared Memory Parallel Programming”, Scientific & Engineering Computation, MIT 2008.
B. Wilkinson and M. Allen, "Parallel Programming: Techniques and Applications”, 2nd ed., Pearson, 2004.
Benedict R. Gaster et al., Heterogeneous Computing with OpenCL, 2nd Edition, Morgan Kaufmann. 2012.
Rezaur Rahman, Intel Xeon-Phi Coprocessor Architecture/Tools - The Guide for App. Developers, Apress, 2013.
CUDA for Engineers by Duane Storti and Mete Yurgotlu, Addison-Wesley, 2016.
Department:
Information Technology