C++11/14 has already changed how we do parallel programming with facilities for advanced threads, memory model, asynch, and futures. C++17 and beyond promises many more concurrent feature items. As editor of the Concurrency and Transactional Memory Technical Specification as well as Chair of C++ SG5 and SG14, I will show how parallel algorithms is done in C++17 and beyond in C++20.
Target Audience: Architect, programmers, developers, researchers, decision makers, managers
Prerequisites: basic C++, basic parallel programming
Level: Practicing
Extended Abstract
For C++20, we will have data-based parallelism (simd), task-based parallelism (task blocks), execution agents, progress guarantees, futures ++ such as then, wait_any, wait_all, executors, resumable functions, lock free programming, synchronics, atomic views, coroutines, transactional memory, latches, barrier, and ultimately heterogeneous computing with massive parallel dispatch. These promise to elevate C++ into a language that supports all the MIPS in your system, end to end.