Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

C++ Parallel Programming Models

NDC Conferences via YouTube

Overview

The course covers the learning outcomes and goals of understanding three different C++ parallel programming models: unstructured, task-based, and data parallel. It aims to teach the basic building blocks of parallel programming, such as threads, atomics, mutex, async, future, parallel algorithms, and more. The teaching method involves reviewing the models, describing their central facilities, and discussing their respective use cases. This course is intended for programmers interested in leveraging modern C++ for parallel programming to improve performance, hide I/O operations, and enhance responsiveness in their applications.

Syllabus

Intro
About me
Why parallel programming? 1. Performance 2. Hide I/O 3. Responsiveness
C++ parallel programming facilities
C++ parallel programming models
Talk outline
Major components (partial list)
Missing part - safe shared state
Thread-level API shortcomings
Model #2: Task-based parallelism
Tasks are asynchronous
async execution
future and promise
packaged_task
What's C++ tasks model like?
Experimental future features
Coroutines and executors
Threads vs. tasks
Model #3: Data parallelism
C++ Parallel algorithms
Using parallel algorithms
sequenced_policy Forces execution to take place on the calling thread + Differs from no-policy call
Models comparison Unstructured
Mixing models - unstructured context
Mixing models - tasks context
Mixing models - parallel algorithms
Summary

Taught by

NDC Conferences

Reviews

Start your review of C++ Parallel Programming Models

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.