Publication | Closed Access
Super-Node SLP: Optimized Vectorization for Code Sequences Containing Operators and Their Inverse Elements
15
Citations
30
References
2019
Year
Unknown Venue
EngineeringVector CodeCompiler TechnologyComputer ArchitectureVector ProcessingSoftware AnalysisSuper-node SlpSlp Auto-vectorizationBenchmark CodeParallel ComputingCompilersCompiler SupportComputer EngineeringTheir Inverse ElementsComputer ScienceCode RepresentationOptimizing CompilerProgram AnalysisFormal MethodsParallel ProgrammingVectorization
SLP Auto-vectorization converts straight-line code into vector code. It scans input code for groups of instructions that can be combined into vectors and replaces them with their corresponding vector instructions. This work introduces Super-Node SLP (SN-SLP), a new SLP-style algorithm, optimized for expressions that include a commutative operator (such as addition) and its corresponding inverse element (subtraction). SN-SLP uses the algebraic properties of commutative operators and their inverse elements to enable additional transformations that extend auto-vectorization to cases difficult for state-of-the-art auto-vectorizing compilers. We implemented SN-SLP in LLVM. Our evaluation on a real system demonstrates considerable performance improvements of benchmark code with no significant change in compilation time.
| Year | Citations | |
|---|---|---|
Page 1
Page 1