High Performance Scientific Computing VM8V7HMNZE
| URI | m2://res/VM8V7HMNZE |
|---|---|
| Kind | course |
| Creators | Shivasubramanian Gopalakrishnan (instructor) |
| Date | 2025-01-09 |
| MSC | 65-XX |
| Scope | in |
| Ids | course 02qyf5152:111101611 |
Expressions
e1: edition
| Language | en |
|---|---|
| Date | 2025-01-09 |
- m1: page, IIT Bombay (record). nptel 111101611
- m2: page, 2025-01-09 (record). nptel 111101611
Contents
- part 1: week-00
- session 1: Week 0: Lec 0: Introduction to High Performance Scientific Computing
- part 2: week-01
- session 2: Week 1: Lecture 1: Introduction to Operating System.
- session 3: Week 1: Lecture 2: Linux Kernel Explained
- session 4: Week 1: Lecture 3: Mastering Linux Directory and File Management
- session 5: Week 1: Lecture 4: Understanding File Permissions and Ownership in Linux
- session 6: Week 1: Lecture 5: Mastering Linux Text Processing and File Management
- session 7: Week 1: Lecture 6: Linux Memory and Networking Commands
- part 3: week-02
- session 8: Week 2: Lecture 1: Understanding Shell Scripting: Parent-Child Processes and User Input Handling
- session 9: Week 2: Lecture 2: Shell Scripting Tutorial for Beginners
- session 10: Week 2: Lecture 3: Introduction to High-Performance Computing (HPC) and Its Key Components
- session 11: Week 2: Lecture 4: Exploring Computing Platform Architecture and CPU Optimization Techniques
- session 12: Week 2: Lecture 5: Hierarchical Memory Systems and Scalable Architectures in Large-Scale Computing
- session 13: Week 2: Lecture 6: Concurrency and Synchronization in Parallel Programming:Techniques and Frameworks
- part 4: week-03
- session 14: Week 3: Lecture 1: Need for Parallel Computing
- session 15: Week 3: Lecture 2: Role of Numerical Models in Solving complex problems on Computers
- session 16: Week 3: Lecture 3: Common Challenges with Memory in Computer Architecture
- session 17: Week 3: Lecture 4: Organization of hardware in Large HPC systems
- session 18: Week 3: Lecture 5: Architecture of Nvidias Grace Hopper Superchip
- session 19: Week 3: Lecture 6: Introduction to Shared Memory Programming using OpenMP
- part 5: week-04
- session 20: Week 4: Lecture 1: Distribution of work using multiple OpenMP Threads
- session 21: Week 4: Lecture 2: Synchronization and Parallel Loops in OpenMP
- session 22: Week 4: Lecture 3: Storage attributes of different variables in OpenMP
- session 23: Week 4: Lecture 4: OpenMP Memory Model, Irregular Parallelism, and Tasks
- session 24: Week 4: Lecture 5: Parallelization of example codes using OpenMP - Part 1
- session 25: Week 4: Lecture 6: Parallelization of example codes using OpenMP - Part 2
- part 6: week-05
- session 26: Week 5: Lecture 1: Introduction to Message Passing Interface (MPI)
- session 27: Week 5: Lecture 2: Sending and Receiving the messages using MPI
- session 28: Week 5: Lecture 3: Collective Communication in MPI
- session 29: Week 5: Lecture 4: Domain Decomposition
- session 30: Week 5: Lecture 5: Parallelization of example code using MPI
- session 31: Week 5: Lecture 6: Performance Analysis Frameworks for Parallel Programming
- part 7: week-06
- session 32: Week 6: Lecture 1: Examples of Collective Communication in MPI: Part 1
- session 33: Week 6: Lecture 2: Examples of Collective Communication in MPI: Part 2
- session 34: Week 6: Lecture 3: Introduction to GPU Computing
- session 35: Week 6: Lecture 4: A Dive into Software Stack and Nvidia Architecture
- session 36: Week 6: Lecture 5: Comparative Analysis of NVIDIA and Intel GPU Architectures
- session 37: Week 6: Lecture 6: Understanding FLOPS and Memory Bandwidth Calculations for NVIDIA GPUs
- part 8: week-07
- session 38: Week 7: Lecture 1: SIMD vs. SIMT: Thread Mapping, Scheduling, and Pipelining in NVIDIA GPUs
- session 39: Week 7: Lecture 2: Understanding 1D, 2D, and 3D Grid Arrangements Part 1
- session 40: Week 7: Lecture 3: Understanding 1D, 2D, and 3D Grid Arrangements Part 2
- session 41: Week 7: Lecture 4: Thread Block Mapping and Warp Scheduling in GPU
- session 42: Week 7: Lecture 5: Exploring Warp Scheduling and Latency Management in NVIDIA GPUs
- part 9: week-08
- session 43: Week 8: Lecture 1: An Introduction to GPU Programming: Tools, Techniques, and CUDA Part - 1
- session 44: Week 8: Lecture 2: An Introduction to GPU Programming: Tools, Techniques, and CUDA Part - 2
- session 45: Week 8: Lecture 3: Understanding NVIDIA GPU Memory Types and Efficient Memory Management Part 1
- session 46: Week 8: Lecture 4: Understanding NVIDIA GPU Memory Types and Efficient Memory Management Part 2
- session 47: Week 8: Lecture 5: Understanding Third Divergence in Parallel Computing and Its Impact on GPU Perf..
- session 48: Week 8: Lecture 6: Memory Layouts and Their Role in Optimizing Computing Performance
- part 10: week-09
- session 49: Week 9: Lecture 1: CUDA Program Compilation and Execution: A Step-by-Step Guide Part 1
- session 50: Week 9: Lecture 2: CUDA Program Compilation and Execution: A Step-by-Step Guide Part 2
- session 51: Week 9: Lecture 3: Introduction to OpenACC
- session 52: Week 9: Lecture 4: Parallelization of loops using OpenACC
- session 53: Week 9: Lecture 5: OpenACC Data Management
- session 54: Week 9: Lecture 6: OpenACC Loop Optimizations
- session 55: Week 9: Lecture 7: Implementing Asynchronous behavior in OpenACC
- session 56: Week 9: Lecture 8: Programming for multiple-device architecture using OpenACC
- part 11: week-10
- session 57: Week 10: Lecture 1: Profiling and Parallelizing the serial code using OpenACC
- session 58: Week 10: Lecture 2: Programming for multiple-device architecture using MPI and CUDA
- session 59: Week 10: Lecture 3: Programming for multiple-device architecture using MPI and OpenACC
- session 60: Week 10: Lecture 4: Profiling Serial codes using GNU gprof
- session 61: Week 10: Lecture 5: Profiling and Debugging of the codes using Valgrind
- session 62: Week 10: Lecture 6: Code Debugging using GDB
- part 12: week-11
- session 63: Week 11: Lecture 1: Performance Analysis of MPI codes
- session 64: Week 11: Lecture 2: Parallel Debugging of MPI Programs using Open Source Tools
- session 65: Week 11: Lecture 3: Role of Numerical Methods in High Performance Scientific Computing
- session 66: Week 11: Lecture 4: Libraries used in High Performance Scientific Computing
- session 67: Week 11: Lecture 5: Introduction to HPC Schedulers using SLURM and PBS
- session 68: Week 11: Lecture 6: Scientific Visualization
- part 13: week-12
- session 69: Week 12: Lecture 1: Revision and challenges in the future
- session 70: Week 12: Lecture 2: OpenMP Revision
- session 71: Week 12: Lecture 3: CUDA Revision
- session 72: Week 12: Lecture 4: MPI Revision
- session 73: Week 12: Lecture 5: OpenACC Revision
- session 74: Week 12: Lecture 6: Heterogeneous Computing
- session 75: Week 12: Lecture 7: Trends in Microprocessor Architectures
- part 14: Live Session
- session 76: Live Session 28-01-2025
- session 77: Live Session 07-03-2025
Catalogue records
- nptel: 111101611 (manifestation)
- nptel_video: 111101611 (manifestation)