Annotating Deeply Embedded Languages
summary
Claims a novel implicit-parameter SourceMap mechanism that forces source-location evidence at compile time (unlike GHC HasCallStack’s loose magic), instruments Accelerate’s AST with those locations, and uses that to connect generated kernels back to lines of Haskell. Implements annotation propagation across sharing recovery and fusion, emits data to the Tracy profiler, exposes a hotspot that took ~60 ms while overall runs showed roughly 20% idle CPU, and demonstrates small GPU speedups from targeted unrolling. Prototype works end-to-end and enables better diagnostics, profiling and debugger integration.
AI-written summary · about
chapters (9)
- 0:00Start
- 1:53Deeply Embedded Languages
- 4:06The Problem
- 11:37Storing Annotations
- 20:23SourceMapped
- 20:56Putting it together
- 23:06Accelerate: Array fusion
- 26:24Profiling LULESH
- 27:48Summary
related talks
26mHot Call-Chain Inlining for the Glasgow Haskell Compiler
15mAmalgamating Different JIT Compilations in a Meta-tracing JIT Compiler Framework
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
37mAssembling
22mBeacons: An End-to-End Compiler Framework for Predicting and Utilizing Dynamic ...
34mWhat happens to your code when you don't look?
50mRevealing the magic behind Java annotations
24mMapping Sparse Applications to Accelerated Computing Systems
