Overview
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