Parallel Computing


Lecture 1 - Introduction


Lecture 2 - Parallel Programming Paradigms


Lecture 3 - Parallel Architecture


Lecture 4 - Parallel Architecture (case studies)


Lecture 5 - Open MP


Lecture 6 - Open MP (Continued.)


Lecture 7 - Open MP (Continued..)


Lecture 8 - Open MP & PRAM Model of Computation


Lecture 9 - PRAM


Lecture 10 - Models of Parallel Computation, Complexity


Lecture 11 - Memory Consistency


Lecture 12 - Memory Consistency & Performance Issues


Lecture 13 - Parallel Program Design


Lecture 14 - Shared Memory & Message Passing


Lecture 15 - MPI


Lecture 16 - MPI (Continued.)


Lecture 17 - MPI (Continued..)


Lecture 18 - Algorithmic Techniques


Lecture 19 - Algorithmic Techniques (Continued.)


Lecture 20 - Algorithmic Techniques (Continued..)


Lecture 21 - CUDA


Lecture 22 - CUDA (Continued.)


Lecture 23 - CUDA (Continued..)


Lecture 24 - CUDA (Continued...)


Lecture 25 - CUDA (Continued....)


Lecture 26 - CUDA (Continued.....)


Lecture 27 - CUDA (Continued......)


Lecture 28 - Algorithms, Merging & Sorting


Lecture 29 - Algorithms, Merging & Sorting (Continued.)


Lecture 30 - Algorithms, Merging & Sorting (Continued..)


Lecture 31 - Algorithms, Merging & Sorting (Continued...)


Lecture 32 - Algorithms, Merging & Sorting (Continued....)


Lecture 33 - Lower Bounds Lock Free Synchronization, Load Stealing


Lecture 34 - Lock Free Synchronization, Graph Algorithms