CS-301 High performance computing
(CS301 High performance computing)

This course is an introduction to parallel computing and aims at teaching basic models of parallel programming including the principles of parallel algorithm design, modern processors and parallel computer architectures, programming models for shared and distributed-memory systems, optimization and performance analysis, OpenMP, message passing programming models along with some important scientific and engineering algorithms/parallel patterns.

Major part of the course includes lectures and Lab Component for actual implementation after learning the basics of Parallel programming and HPC.

Course format

3 hours lecture per week. + 3 hours lab per week.

Course Placement

HPC is a core course offered to third year students of B.Tech Hons. ICT with Minor in Computational Science program. 


  1.       An Introduction to Parallel Programming; Elsevier; by Peter S. Pacheco.
  2.        Scientific Parallel Computing; Princeton University Press ; by Babak Bagheri Terry Clark L Ridgway Scott Bagheri Clark Scott
  3.      PARALLEL PROGRAMMING; Barry Wilkinson, Pearson Education.
  4.       Introduction to High Performance Computing for Scientists and Engineers; G. Hager & G. Wellein. CRC Press.
  5.       Algorithms Sequential & Parallel: A Unified Approach,  by Millers Russ; Cengage, ISBN 9788131525050
  6.        Parallel Programming in C with MPI and OpenMP; by Michael J. Quinn ; McGraw-Hill Higher Education
  7.       Parallel Computing Theory and Practice. By Michael J. Quinn; McGraw Hill Education (India).