~/talk

Inside Visual C++' Parallel Algorithms

Talkat CppCon 2018 · 2018-09-23..09-28· [c-and-cpp, concurrency]
links:none on file
slides:none on file

Visual C++ implements C++17 parallel algorithms by partitioning ranges, scheduling work on Windows Thread Pool calls like CreateThreadpoolWork, and merging partial results; reduce replaces accumulate to require associativity and commutativity and each partition builds its own partial sum. Partition count uses a 32× thread heuristic (threads × 32) with extra logic for non-random-access ranges (two traversals) and fallback to serial on allocation failure. VTune shows memory bandwidth limits explain modest speedups (about 5× debug, ~1.3× release on a 4-core laptop), and stable_sort uses an N-sized temporary plus bitmasked merge-tree coordination.

AI-written summary · about

  1. 0:00Introduction to parallel algorithms
  2. 1:05Parallelizing algorithms basics
  3. 10:06Demo application overview
  4. 13:15Reduce algorithm implementation
  5. 27:50Partitioning strategies
  6. 37:06Performance analysis with VTune
  7. 45:49Stable sort parallelization
  8. 53:45Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.