goSLP - Globally Optimized Superword Level Parallelism Framework
summary
goSLP formulates SLP statement packing as an ILP solver optimization across whole functions, then solves vector permutation selection with dynamic programming. Implemented in LLVM and evaluated on SPEC and NAS suites, it reports a geometric mean speedup of 7.58% on SPEC2017fp, 2.42% on SPEC2006fp and 4.07% on NAS, while keeping compile-time search bounded to minutes. The implementation uncovers packings greedy heuristics miss and yields measurable end-to-end speedups.
AI-written summary · about
chapters (8)
- 0:00Introduction to SLP
- 1:33Vectorization workflow
- 2:27Global search approach
- 4:04Packing problem analysis
- 7:33ILP formulation
- 13:01Statement ordering optimization
- 14:43Evaluation results
- 18:07Conclusion and Q&A
related talks
22mSAIL: Sound Abstract Interpreters with LLMs
15mPluS: Highly Efficient and Expandable ML Compiler with Pluggable Graph Schedules
15mHieraSynth: A Parallel Framework for Complete Super-Optimization with Hierarchical(…)
18mSuperStack: Superoptimization of Stack-Bytecode via Greedy, Constraint-Based, and SAT(…)
14mPerformance Interfaces for Hardware Accelerators
20mVectorizing Sparse Coiteration for Two-finger Loop Structure (Extended Abstract)
14mDataflow-Based Pruning for Speeding up Superoptimization
19mMinotaur: A SIMD-Oriented Synthesizing Superoptimizer
