Covers the basics of parallel programming, including concurrency, forms of parallelism, synchronization, and programming models like PThreads and OpenMP.
Explores synchronization principles using locks and barriers, emphasizing efficient hardware-supported implementations and coordination mechanisms like OpenMP.
Explores memory consistency, coherence, weak consistency, and sequential consistency, emphasizing the importance of language-level consistency and data race-free programming.
Covers the principles of synchronization in parallel computing, focusing on shared memory synchronization and different methods like locks and barriers.