Learn · NPTEL

Course11210529340 lectures

High Performance Computing for Scientists and Engineers

Prof. Somnath Roy · IIT Kharagpur

Start with lecture 1 At NPTEL

About

Large-scale simulations of engineering and basic science problems require efficient use of modern high performance computing (HPC) infrastructure. This course is primarily aimed to introduce the concepts of high performance computing (HPC) to science and engineering students. Different parallel computing tools like MPI, OpenMP and CUDA will be discussed in connection with domain specific problems. This course will briefly introduce parallel architecture and discuss the performance metrics of HPC programs. Multi-CPU computing using both distributed and shared memory architecture will be discussed and OpenMP and MPI based parallelization of iterative matrix solvers will be discussed. Graphics processing unit (GPU) architecture and concepts of CUDA will be discussed. Matrix calculations using CUDA will be demonstrated.

INTENDED AUDIENCE : Basic science, Mathematics, Engineering PREREQUISITES : Backgrounds in numerical methods and basic programming will be of help

Lectures

Week 1

  1. Lecture 01 : Introduction to High Performance Computing YouTube
  2. Lecture 02 : Architecture for Parallel Computing YouTube
  3. Lecture 03 : Architecture for Parallel Computing (continued) YouTube
  4. Lecture 04 : Architecture for Parallel Computing (continued) YouTube
  5. Lecture 05 : Shared and distributed memory in parallel computing YouTube
  6. Lecture 06 : Shared and distributed memory in parallel computing (continued) YouTube

Week 2

  1. Lecture 07 : Parallel Algorithms YouTube
  2. Lecture 08 : Parallel Algorithms (continued) YouTube
  3. Lecture 09 : Parallel Algorithms (continued) YouTube
  4. Lecture 10 : Performance Metrics of Parallel Systems YouTube
  5. Lecture 11 : Performance Metrics of Parallel Systems (continued) YouTube

Week 3

  1. Lecture 12 : Introduction to OpenMP YouTube
  2. Lecture 13 : Introduction to OpenMP (continued) YouTube
  3. Lecture 14 : Introduction to OpenMP (continued) YouTube
  4. Lecture 15 : Essentials of OpenMP Programming YouTube
  5. Lecture 16 : Essentials of OpenMP Programming (continued) YouTube

Week 4

  1. Lecture 17 : Data sharing and synchronization YouTube
  2. Lecture 18 : Efficient OpenMP programming for matrix computing YouTube
  3. Lecture 19 : Introduction to MPI and Distributed Memory Parallel Programming YouTube
  4. Lecture 20 : Introduction to MPI and Distributed Memory Parallel Programming (continued) YouTube

Week 5

  1. Lecture 21 : Communication using MPI YouTube
  2. Lecture 22 : Communication using MPI (continued) YouTube
  3. Lecture 23 : Communication using MPI (continued) YouTube
  4. Lecture 24 : Matrix Representation of Physical Systems - Matrix Solvers YouTube
  5. Lecture 25 : Domain Decomposition Technique YouTube

Week 6

  1. Lecture 26 : Domain decomposition based parallelization of matrix solvers YouTube
  2. Lecture 27 : Domain decomposition based parallelization of matrix solvers (continued) YouTube
  3. Lecture 28 : Domain decomposition based parallelization of matrix solvers (continued) YouTube
  4. Lecture 29 : MPI routines for parallel matrix solvers YouTube

Week 7

  1. Lecture 30 : Introduction to GPGPU and CUDA YouTube
  2. Lecture 31 : Introduction to GPGPU and CUDA (continued) YouTube
  3. Lecture 32 : Introduction to GPGPU and CUDA (continued) YouTube
  4. Lecture 33 : Introduction to GPGPU and CUDA (continued) YouTube
  5. Lecture 34 : Introduction to CUDA programming YouTube
  6. Lecture 35 : Introduction to CUDA programming (continued) YouTube

Week 8

  1. Lecture 36 : Thread execution in CUDA program - scheduling and memory access YouTube
  2. Lecture 37 : Thread execution in CUDA program (continued) YouTube
  3. Lecture 38 : Matrix multiplications in CUDA YouTube
  4. Lecture 39 : OpenACC programming for GPU-s YouTube
  5. Lecture 40 : Hybrid parallelization and exascale computing YouTube

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Kharagpur
Department
Mechanical Engineering
Teacher
Prof. Somnath Roy
Level
Undergraduate
Language
English
Subjects
Engineering
Source
NPTEL
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed