~/talk

SpEQ: Translation of Sparse Codes using Equivalences

Talkat EGRAPHS 2024 · on Monday, 2024-06-24· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

SpEQ detects sparse-data semantics via equivalence checks that prove a CSR-style loop is equivalent to a dense reference, then uses e-graphs (equality saturation) to match and rewrite into known kernels. Implemented with LLVM, Z3, and egglog (Python glue), it translates to OpenMP, Intel MKL and cuSPARSE and runs on ten benchmarks, giving geometric mean speedups of 3.25×, 5.09× and 8.04× while claiming the only guarantee of correct translation and modest latency close to O3.

AI-written summary · about

  1. 0:00SpEQ introduction
  2. 1:06Motivation for translation
  3. 3:53SpEQ pipeline overview
  4. 5:37Detecting storage formats
  5. 8:07Equivalence checking
  6. 10:17Proving equivalence
  7. 12:27Transition systems formalization
  8. 14:17Semantics via equality saturation
  9. 16:06SpEQ evaluation
  10. 17:11Using SpEQ artifacts
  11. 17:55Q&A
~/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.