YoVDO

Parallel and Concurrent Programming with C++ Part 2

Offered By: LinkedIn Learning

Tags

C++ Courses Parallel Programming Courses Concurrent Programming Courses Futures Courses Thread Pool Courses

Course Description

Overview

Explore advanced techniques for parallel and concurrent programming with C++. Learn about condition variables, semaphores, barriers, thread pools, and more.

Syllabus

Introduction
  • Learn parallel programming basics
  • What you should know
  • Exercise files
1. Synchronization
  • Condition variable
  • Condition variable: C++ demo
  • Producer-consumer
  • Producer-consumer: C++ demo
  • Semaphore
  • Semaphore: C++ demo
2. Barriers
  • Race condition
  • Race condition: C++ demo
  • Barrier
  • Barrier: C++ demo
  • Latch: C++ demo
3. Asynchronous Tasks
  • Computational graph
  • Thread pool
  • Thread pool: C++ demo
  • Future
  • Future: C++ demo
  • Divide and conquer
  • Divide and conquer: C++ demo
4. Evaluating Parallel Performance
  • Speedup, latency, and throughput
  • Amdahl's law
  • Measure speedup
  • Measure speedup: C++ demo
5. Designing Parallel Programs
  • Partitioning
  • Communication
  • Agglomeration
  • Mapping
6. Challenge Problems
  • Welcome to the challenges!
  • Challenge: Matrix multiply
  • Solution: Matrix multiply
  • Challenge: Merge sort
  • Solution: Merge sort
  • Challenge: Download images
  • Solution: Download images
Conclusion
  • Next steps

Taught by

Olivia Chiu Stone and Barron Stone

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Programming Mobile Services for Android Handheld Systems: Content
Vanderbilt University via Coursera
Advanced Software Construction in Java
Massachusetts Institute of Technology via edX