~/talk

Bringing Existing Code to CUDA Using constexpr and std::pmr

Talkat CppCon 2021 · on Tuesday, 2021-10-26· at 14:00· online· [web-performance]
links:none on file
slides:none on file

Existing options-pricing code is adapted to run on GPU by changing where and how memory is allocated and by making functions visible to the device: allocation uses a custom std::pmr memory_resource that delegates to cudaMallocManaged for unified memory or to device-only allocation, and a polymorphic allocator that avoids CPU-side default construction; functions stay unchanged by relying on constexpr as __device__ via the NVCC flag so existing libraries work on the GPU.

AI-written summary · about

  1. 0:00Introduction
  2. 1:49Bowies background
  3. 8:44Memory
  4. 11:51stdpmr
  5. 14:12Unified Memory Resource
  6. 14:56Allocation and Deallocation
  7. 17:14Object Allocation
  8. 18:18Callable Objects
  9. 21:22Unified Memory
  10. 22:49Device Memory Resource
  11. 23:08CUDA Malloc vs CUDA Malloc Managed
  12. 24:16Why doesnt this example work
  13. 26:01Solution
  14. 28:18Nonprimitive
  15. 29:16Create Memory
  16. 29:43Create Allocator
  17. 30:19Recap
  18. 34:49UnifiedMemory Resource
  19. 36:36Host vs Device Functions
  20. 36:48What are Host and Device Functions
  21. 38:39Execution Space Specifiers
  22. 39:39Host
  23. 45:28Nvidia compiler flag
  24. 46:03Using constexpr
  25. 49:52Libraries that support constexpr
  26. 52:02No work less work
  27. 54:06Return on Investment
  28. 54:52Standard PMR
  29. 56:20constexpr
  30. 58:42Questions
  31. 59:10Static analyzers
~/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.