Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Parallel and Concurrent Programming with C++ Part 2

Parallel and Concurrent Programming with C++ Part 2

2h 13mAdvanced2020-07-20

Authors

Barron Stone

Barron Stone

Electrical Engineer

Olivia Chiu Stone

Olivia Chiu Stone

Programmer, Engineer

Course details

Write more efficient, performant code by mastering the fundamentals of parallel programming. In this course, instructors Barron and Olivia Stone pick up where they left off in the first installment of the Parallel and Concurrent Programming with C++ series, explaining what you need to know to write programs that execute multiple instructions simultaneously. Barron and Olivia dig into some more advanced concepts like condition variables and semaphores in a fun and informative way, relating them to everyday activities you perform in the kitchen. To cement these ideas, they demo them in action using C++. Each lesson is short and practical, driving home the theory with hands-on techniques.

Skills covered

C++Programming FoundationsProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - Learn parallel programming basics
  • 02 - What you should know
  • 03 - Exercise files

1. Synchronization

  • 04 - Condition variable
  • 05 - Condition variable - C++ demo
  • 06 - Producer-consumer
  • 07 - Producer-consumer - C++ demo
  • 08 - Semaphore
  • 09 - Semaphore - C++ demo

2. Barriers

  • 10 - Race condition
  • 11 - Race condition - C++ demo
  • 12 - Barrier
  • 13 - Barrier - C++ demo
  • 14 - Latch - C++ demo

3. Asynchronous Tasks

  • 15 - Computational graph
  • 16 - Thread pool
  • 17 - Thread pool - C++ demo
  • 18 - Future
  • 19 - Future - C++ demo
  • 20 - Divide and conquer
  • 21 - Divide and conquer - C++ demo

4. Evaluating Parallel Performance

  • 22 - Speedup, latency, and throughput
  • 23 - Amdahl's law
  • 24 - Measure speedup
  • 25 - Measure speedup - C++ demo

5. Designing Parallel Programs

  • 26 - Partitioning
  • 27 - Communication
  • 28 - Agglomeration
  • 29 - Mapping

6. Challenge Problems

  • 30 - Welcome to the challenges
  • 31 - Challenge - Matrix multiply
  • 32 - Solution - Matrix multiply
  • 33 - Challenge - Merge sort
  • 34 - Solution - Merge sort
  • 35 - Challenge - Download images
  • 36 - Solution - Download images

Conclusion

  • 37 - Next steps

Related courses

Related learn paths

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal