Learn · NPTEL

Course11110161177 lectures

High Performance Scientific Computing

Prof. Shivasubramanian Gopalakrishnan Prof. Om Jadhav Prof. S Vamshi Krishna Prof. Ashish Kuvelkar · IIT Bombay

Start with lecture 1 At NPTEL

Lectures

week-00

  1. Week 0: Lec 0: Introduction to High Performance Scientific Computing Video

week-01

  1. Week 1: Lecture 1: Introduction to Operating System. Video
  2. Week 1: Lecture 2: Linux Kernel Explained Video
  3. Week 1: Lecture 3: Mastering Linux Directory and File Management Video
  4. Week 1: Lecture 4: Understanding File Permissions and Ownership in Linux Video
  5. Week 1: Lecture 5: Mastering Linux Text Processing and File Management Video
  6. Week 1: Lecture 6: Linux Memory and Networking Commands Video

week-02

  1. Week 2: Lecture 1: Understanding Shell Scripting: Parent-Child Processes and User Input Handling Video
  2. Week 2: Lecture 2: Shell Scripting Tutorial for Beginners Video
  3. Week 2: Lecture 3: Introduction to High-Performance Computing (HPC) and Its Key Components Video
  4. Week 2: Lecture 4: Exploring Computing Platform Architecture and CPU Optimization Techniques Video
  5. Week 2: Lecture 5: Hierarchical Memory Systems and Scalable Architectures in Large-Scale Computing Video
  6. Week 2: Lecture 6: Concurrency and Synchronization in Parallel Programming:Techniques and Frameworks Video

week-03

  1. Week 3: Lecture 1: Need for Parallel Computing Video
  2. Week 3: Lecture 2: Role of Numerical Models in Solving complex problems on Computers Video
  3. Week 3: Lecture 3: Common Challenges with Memory in Computer Architecture Video
  4. Week 3: Lecture 4: Organization of hardware in Large HPC systems Video
  5. Week 3: Lecture 5: Architecture of Nvidias Grace Hopper Superchip Video
  6. Week 3: Lecture 6: Introduction to Shared Memory Programming using OpenMP Video

week-04

  1. Week 4: Lecture 1: Distribution of work using multiple OpenMP Threads Video
  2. Week 4: Lecture 2: Synchronization and Parallel Loops in OpenMP Video
  3. Week 4: Lecture 3: Storage attributes of different variables in OpenMP Video
  4. Week 4: Lecture 4: OpenMP Memory Model, Irregular Parallelism, and Tasks Video
  5. Week 4: Lecture 5: Parallelization of example codes using OpenMP - Part 1 Video
  6. Week 4: Lecture 6: Parallelization of example codes using OpenMP - Part 2 Video

week-05

  1. Week 5: Lecture 1: Introduction to Message Passing Interface (MPI) Video
  2. Week 5: Lecture 2: Sending and Receiving the messages using MPI Video
  3. Week 5: Lecture 3: Collective Communication in MPI Video
  4. Week 5: Lecture 4: Domain Decomposition Video
  5. Week 5: Lecture 5: Parallelization of example code using MPI Video
  6. Week 5: Lecture 6: Performance Analysis Frameworks for Parallel Programming Video

week-06

  1. Week 6: Lecture 1: Examples of Collective Communication in MPI: Part 1 Video
  2. Week 6: Lecture 2: Examples of Collective Communication in MPI: Part 2 Video
  3. Week 6: Lecture 3: Introduction to GPU Computing Video
  4. Week 6: Lecture 4: A Dive into Software Stack and Nvidia Architecture Video
  5. Week 6: Lecture 5: Comparative Analysis of NVIDIA and Intel GPU Architectures Video
  6. Week 6: Lecture 6: Understanding FLOPS and Memory Bandwidth Calculations for NVIDIA GPUs Video

week-07

  1. Week 7: Lecture 1: SIMD vs. SIMT: Thread Mapping, Scheduling, and Pipelining in NVIDIA GPUs Video
  2. Week 7: Lecture 2: Understanding 1D, 2D, and 3D Grid Arrangements Part 1 Video
  3. Week 7: Lecture 3: Understanding 1D, 2D, and 3D Grid Arrangements Part 2 Video
  4. Week 7: Lecture 4: Thread Block Mapping and Warp Scheduling in GPU Video
  5. Week 7: Lecture 5: Exploring Warp Scheduling and Latency Management in NVIDIA GPUs Video

week-08

  1. Week 8: Lecture 1: An Introduction to GPU Programming: Tools, Techniques, and CUDA Part - 1 Video
  2. Week 8: Lecture 2: An Introduction to GPU Programming: Tools, Techniques, and CUDA Part - 2 Video
  3. Week 8: Lecture 3: Understanding NVIDIA GPU Memory Types and Efficient Memory Management Part 1 Video
  4. Week 8: Lecture 4: Understanding NVIDIA GPU Memory Types and Efficient Memory Management Part 2 Video
  5. Week 8: Lecture 5: Understanding Third Divergence in Parallel Computing and Its Impact on GPU Perf.. Video
  6. Week 8: Lecture 6: Memory Layouts and Their Role in Optimizing Computing Performance Video

week-09

  1. Week 9: Lecture 1: CUDA Program Compilation and Execution: A Step-by-Step Guide Part 1 Video
  2. Week 9: Lecture 2: CUDA Program Compilation and Execution: A Step-by-Step Guide Part 2 Video
  3. Week 9: Lecture 3: Introduction to OpenACC Video
  4. Week 9: Lecture 4: Parallelization of loops using OpenACC Video
  5. Week 9: Lecture 5: OpenACC Data Management Video
  6. Week 9: Lecture 6: OpenACC Loop Optimizations Video
  7. Week 9: Lecture 7: Implementing Asynchronous behavior in OpenACC Video
  8. Week 9: Lecture 8: Programming for multiple-device architecture using OpenACC Video

week-10

  1. Week 10: Lecture 1: Profiling and Parallelizing the serial code using OpenACC Video
  2. Week 10: Lecture 2: Programming for multiple-device architecture using MPI and CUDA Video
  3. Week 10: Lecture 3: Programming for multiple-device architecture using MPI and OpenACC Video
  4. Week 10: Lecture 4: Profiling Serial codes using GNU gprof Video
  5. Week 10: Lecture 5: Profiling and Debugging of the codes using Valgrind Video
  6. Week 10: Lecture 6: Code Debugging using GDB Video

week-11

  1. Week 11: Lecture 1: Performance Analysis of MPI codes Video
  2. Week 11: Lecture 2: Parallel Debugging of MPI Programs using Open Source Tools Video
  3. Week 11: Lecture 3: Role of Numerical Methods in High Performance Scientific Computing Video
  4. Week 11: Lecture 4: Libraries used in High Performance Scientific Computing Video
  5. Week 11: Lecture 5: Introduction to HPC Schedulers using SLURM and PBS Video
  6. Week 11: Lecture 6: Scientific Visualization Video

week-12

  1. Week 12: Lecture 1: Revision and challenges in the future Video
  2. Week 12: Lecture 2: OpenMP Revision Video
  3. Week 12: Lecture 3: CUDA Revision Video
  4. Week 12: Lecture 4: MPI Revision Video
  5. Week 12: Lecture 5: OpenACC Revision Video
  6. Week 12: Lecture 6: Heterogeneous Computing Video
  7. Week 12: Lecture 7: Trends in Microprocessor Architectures Video

Live Session

  1. Live Session 28-01-2025 Video
  2. Live Session 07-03-2025 Video

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Bombay
Department
Mathematics
Teacher
Prof. Shivasubramanian Gopalakrishnan Prof. Om Jadhav Prof. S Vamshi Krishna Prof. Ashish Kuvelkar
Level
Undergraduate
Language
English
Subjects
Mathematics
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