~/talk

GPU programming with modern C++

Talkat ACCU 2019 · 2019-04-10..04-13· [c-and-cpp]
linkedin:mcwong2
slides:none on file

Modern C++ code uses SYCL plus C++17 execution policies to offload algorithms to GPUs via a queue, device selector, and buffer+accessor implicit copy model that builds a dependency task graph; kernels use an ND-range/work-group with local/global/local memory and barriers for reductions. The demo implements a parallel reduction (folding halves with barriers) and shows mixed CPU+GPU load balancing and a 3–5× speedup on large inputs (2^19 elements); multiple SYCL backends (ComputeCpp, Intel/Clang, HIP, triSYCL) target real hardware.

AI-written summary · about

  1. 0:00Introduction
  2. 1:00Michaels background
  3. 2:00Why Im here
  4. 3:00Outline
  5. 4:00Recap
  6. 5:00Right abstraction
  7. 7:45Task vs data parallelism
  8. 8:25Latency and bandwidth
  9. 8:55DMV example
  10. 11:00Flynns Taxonomy
  11. 13:05CPU vs GPU
  12. 14:00Multicore CPU
  13. 14:30Architectures
  14. 15:30Memory bound problem
  15. 15:45Memory optimization
  16. 16:30Pad properly
  17. 17:30Data layout
  18. 18:50Power of computing
  19. 20:00What happened
  20. 20:40What happened in 2011
  21. 24:35CPU vs GPU performance
  22. 25:10GPU explosion
  23. 25:50Hardware
  24. 27:15GPU programming
  25. 28:50Parallelization and concurrency
  26. 33:20Heterogeneity
  27. 33:55Consumer AI
  28. 34:25GPU languages
  29. 36:45C executives
  30. 38:20How GPUs work
  31. 39:30How CPUs work
  32. 40:10How GPU work
  33. 41:20Memory regions
  34. 44:45Multiple work items
  35. 45:05Wavefronts
  36. 46:15Lockstep
  37. 48:00Kernel barriers
  38. 49:00Summary
  39. 49:20Code
  40. 50:20SpinD
  41. 51:30ND Range
  42. 54:15Sickle
  43. 54:50Chronos
~/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.