~/talk

All you need is Superword-Level Parallelism: Systematic Control-Flow Vectorization with SLP

Talkat PLDI 2022 · 2022-06-13..06-17· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

This work generalizes SLP vectorization to pack independent, isomorphic instructions across different control-flow regions by converting code to predicated SSA that tracks predicates per instruction, adding active flags and mu nodes to preserve loop-liveness, fusing loops, rewriting predicates, and emitting masked vector ops. Implementation vectorizes 6 of 7 hard LLVM benchmarks (vs LLVM's loop+SLP) and reports on-average >80% speedup; it matches ISPC on some cases like the volume renderer.

AI-written summary · about

  1. 0:00Intro
  2. 0:16Background: Loop Vectorization
  3. 0:38Background: SLP Vectorization
  4. 1:27Motivation: Exploiting ILP among different loops
  5. 3:33Idea: an IR that makes code motion trivial
  6. 4:55Predicated SSA
  7. 7:20Scheduling: Rewriting Predicates
  8. 8:37Scheduling: Guard Live-Out Values
  9. 10:38Vector Code Generation
  10. 12:00Vectorizing ISPC's serial baseline
  11. 13:32Conclusion and Future Work
~/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.