National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6129 : Introduction To High Performance Computing { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Ashok Kumar Turuk

Syllabus

Introduction to parallel computing: Motivating parallelism, scope of parallel computing
Parallel Programming platforms: Implicit Parallelism: Trends in Microprocessor Architectures, Limitations of memory system performance, Dichotomy of parallel computing platforms, Physical organization of parallel platform
Principles of parallel algorithm design: Decomposition techniques, characteristics of tasks and interactions, mapping techniques for load balancing, parallel algorithm models
Basic Comunication operations: one-to-all broadcast and all-to-one reduction, All-to-all broadcast and reduction, all-reduce and refix-sum operations, scatter and gather, all-to-all personalized communications, circular shift
Analytical modeling of parallel programs: Performance metrics for parallel system, The effect of granularity on performance, Scalability of parallel systems
Programming using the message-passing paradigm, programing shared address platforms

Course Objectives

  • Learn parallelisation of serial program

Course Outcomes

Learn techniques for parallelization, programming in OpenMP/MPI

Essential Reading

  • Ananth Grams, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to Parallel Computing, Pearson
  • Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufman

Supplementary Reading

  • Ian Foster, The Sourcebook of Parallel Computing, Morgan Kaufman
  • Michael McCool, James Reinders , Arch Robison, Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufman