Learn · Introduction to parallel programming with OpenMP and MPI

Lecture 35 of 84week-04

Advanced Task handling

Prof. Yogish Sabharwal · IIT Delhi

Credits and licence

From
Introduction to parallel programming with OpenMP and MPI, IIT Delhi (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. Introduction to Parallel Programming Video
  2. Parallel Architectures and Programming Models Video
  3. Pipelining Video
  4. Superpipelining and VLIW Video
  5. Memory Latency Video
  6. Cache and Temporal Locality Video
  7. Cache, Memory bandwidth and Spatial Locality Video
  8. Intuition for Shared and Distributed Memory architectures Video
  9. Shared and Distributed Memory architectures Video
  10. Interconnection networks in Distributed Memory architectures Video
  11. OpenMP: A parallel Hello World Program Video
  12. Program with Single thread Video
  13. Program Memory with Multiple threads and Multi-tasking Video
  14. Context Switching Video
  15. OpenMP: Basic thread functions Video
  16. OpenMP: About OpenMP Video
  17. Shared Memory Consistency Models and the Sequential Consistency Model Video
  18. Race Conditions Video
  19. OpenMP: Scoping variables and some race conditions Video
  20. OpenMP: thread private variables and more constructs Video
  21. Computing sum: first attempt at parallelization Video
  22. Manual distribution of work and critical sections Video
  23. Distributing for loops and reduction Video
  24. Vector-Vector operations (Dot product) Video
  25. Matrix-Vector operations (Matrix-Vector Multiply) Video
  26. Matrix-Matrix operations (Matrix-Matrix Multiply) Video
  27. Introduction to tasks Video
  28. Task queues and task execution Video
  29. Accessing variables in tasks Video
  30. Completion of tasks and scoping variables in tasks Video
  31. Recursive task spawning and pitfalls Video
  32. Understanding LU Factorization Video
  33. Parallel LU Factorization Video
  34. Locks Video
  35. Advanced Task handling Video
  36. Matrix Multiplication using tasks Video
  37. The OpenMP Shared Memory Consistency Model Video
  38. Applications finite element method Video
  39. Applications deep learning Video
  40. Introduction to MPI and basic calls Video
  41. MPI calls to send and receive data Video
  42. MPI calls for broadcasting data Video
  43. MPI non blocking calls Video
  44. Application distributed histogram updation Video
  45. MPI collectives and MPI broadcast Video
  46. MPI gathering and scattering collectives Video
  47. MPI reduction and alltoall collectives Video
  48. Discussion on MPI collectives design Video
  49. Characteriziation of interconnects Video
  50. Linear arrays 2D mesh and torus Video
  51. d dimensional torus Video
  52. Hypercube Video
  53. Trees and cliques Video
  54. Hockney model Video
  55. Broadcast and Reduce with recursive doubling Video
  56. Scatter and Gather with recursive doubling Video
  57. Reduce scatter and All gather with recursive doubling Video
  58. Discussion of message sizes in analysis Video
  59. Revisiting Reduce scatter on 2D mesh Video
  60. Reduce scatter and Allreduce on the Hypercube Video
  61. Alltoall on the Hypercube Video
  62. Lower bounds Video
  63. Pipeline based algorithm for Allreduce Video
  64. An improved algorithm for Alltoall on the Hypercube using E cube routing Video
  65. Pipeline based algorithm for Broadcast Video
  66. Introduction to parallel graph algorithms Video
  67. Breadth First Search BFS using matrix algebra Video
  68. BFS Shared memory parallelization using OpenMP Video
  69. Distributed memory settings and data distribution Video
  70. Distributed BFS algorithm Video
  71. Performance considerations Video
  72. Prims Algorithm Video
  73. OpenMP based shared memory parallelization for MST Video
  74. MPI based distributed memory parallelization for MST Video
  75. Sequential Algorithm Adaptation from Prims Video
  76. Parallelization Strategy for Prims algorithm Video
  77. Dry run with the parallel strategy Video
  78. Johnsons algorithm with 1D data distribution Video
  79. Speedup analysis on a grid graph Video
  80. Floyds algorithm for all pair shortest paths Video
  81. Floyds algorithm with 2D data distribution Video
  82. Adaptation to transitive closures Video
  83. Parallelization strategy for connected components Video
  84. Analysis for parallel connected components Video