Math 2.0

Resources / course

High Performance Scientific Computing VM8V7HMNZE

URIm2://res/VM8V7HMNZE
Kindcourse
CreatorsShivasubramanian Gopalakrishnan (instructor)
Date2025-01-09
MSC65-XX
Scopein
Idscourse 02qyf5152:111101611

Expressions

e1: edition

Languageen
Date2025-01-09
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