~/talk

Memory Resources in a Heterogeneous World

Talkat CppCon 2019 · 2019-09-15..09-20· [web-performance]
links:none on file
slides:none on file

C++17 std::pmr proves awkward for GPUs because its virtual functions embed raw pointers, so Thrust implements thrust::mr (templated on fancy pointer types) and experiments with upstreams like cudaMalloc and cudaMallocManaged. A practical change is a disjoint pool resource that keeps pool metadata in host memory while device allocations live on the GPU, avoiding metadata/data page thrashing and repeated PCIe transfers; the design ships in Thrust, works for CUDA-managed and non-unified-addressing systems, and also helps multi-NUMA setups.

AI-written summary · about

  1. 0:00Introduction
  2. 1:41Allocators
  3. 2:40How to use alligators
  4. 6:26Separation of concerns
  5. 7:00Alligator
  6. 9:11Locator
  7. 10:45Cached Allocator
  8. 13:20Memory Resources
  9. 14:54Stateful Alligators
  10. 17:15Memory Resource
  11. 22:14CPU vs GPU
  12. 30:21Pool Resources
  13. 32:45Inline bookkeeping
  14. 35:15Unified addressing
  15. 39:25CUDA Malloc
  16. 41:13Akane
  17. 43:03Frost
  18. 44:17Remer
  19. 44:56Voidstar
  20. 45:46CUDA Memory Resource
  21. 46:20Frost Pointer
  22. 48:32Bookkeeping
  23. 51:01Naming
  24. 51:48Useful
  25. 52:35Questions
  26. 59:05Recommendation
~/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.