Publication | Open Access
Vectorization-aware loop unrolling with seed forwarding
18
Citations
44
References
2020
Year
Unknown Venue
EngineeringMachine LearningVector CodeCompiler TechnologyAdvanced ComputingComputer ArchitectureSoftware EngineeringVector ProcessingSoftware AnalysisLoop UnrollingParallel ComputingCombinatorial OptimizationComputational GeometryCompilersLoop TransformationComputer EngineeringComputer ScienceProgram OptimizationOptimizing CompilerVectorization-aware LoopProgram AnalysisParallel ProgrammingVectorization
Loop unrolling is a widely adopted loop transformation, commonly used for enabling subsequent optimizations. Straight-line-code vectorization (SLP) is an optimization that benefits from unrolling. SLP converts isomorphic instruction sequences into vector code. Since unrolling generates repeatead isomorphic instruction sequences, it enables SLP to vectorize more code. However, most production compilers apply these optimizations independently and uncoordinated. Unrolling is commonly tuned to avoid code bloat, not maximizing the potential for vectorization, leading to missed vectorization opportunities.
| Year | Citations | |
|---|---|---|
Page 1
Page 1