~/talk

After Reflection: The Runtime Story

Talkat C++Now 2026 · 2026-05-04..05-08· [software-architecture]
links:none on file
slides:none on file

Builds a runtime numerical DSL that accepts C++ or Python frontends, captures computation with tracer-based graph capture, lowers the graph to either C++-strings or LLVM IR and JITs it in-process with LLVM ORC, and also targets an Apple GPU via Objective-C++ MPS backend. Shows profiling injection (flip one boolean) and a simple CSE pass that drops nodes from 148 to 105, loads code in memory, and runs — GPU reaches ~60% utilization in the toy benchmarks, so the prototype works end-to-end.

AI-written summary · about

  1. 0:00Runtime DSLs in C++
  2. 3:11DSLs as programming languages
  3. 7:03Runtime problem in high-performance
  4. 10:41DSLs IRs and JIT compilation
  5. 16:19Use cases for runtime DSLs
  6. 24:48Runtime DSLs as full languages
  7. 27:14Graph DSL for user intent
  8. 30:28Parsing DSLs with tracer objects
  9. 36:31Keep graph in C++ and language agnosticism
  10. 38:20Choosing IR for compilation
  11. 40:35DSL to machine code
  12. 46:34LLVM ORC for JIT compilation
  13. 51:11Generating LLVM IR from graph
  14. 53:58Emitting loops and conditionals
  15. 57:49Profiling jitted code dynamically
  16. 59:11Targeting Apple GPU with MPF
  17. 1:02:39Optimizing graphs with deduplication
  18. 1:06:54Limitations and future for DSL
  19. 1:08:39Type safety in API boundaries
  20. 1:15:21Conclusion and standardizing DSL
~/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.