Learn · High Performance Scientific Computing

Lecture 37 of 77week-06

Week 6: Lecture 6: Understanding FLOPS and Memory Bandwidth Calculations for NVIDIA GPUs

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

Credits and licence

From
High Performance Scientific Computing, IIT Bombay (at NPTEL)
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only.
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
Tweens profiles and older. How courses are placed

All the lectures

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