Affiliation:
1. IMDEA Software Institute, Madrid, Spain
2. Microsoft Research, Redmond, WA, USA
Abstract
Existing pattern-based compiler technology is unable to effectively exploit the full potential of SIMD architectures. We present a new program synthesis based technique for auto-vectorizing performance critical innermost loops. Our synthesis technique is applicable to a wide range of loops, consistently produces performant SIMD code, and generates correctness proofs for the output code. The synthesis technique, which leverages existing work on relational verification methods, is a novel combination of deductive loop restructuring, synthesis condition generation and a new inductive synthesis algorithm for producing loop-free code fragments. The inductive synthesis algorithm wraps an optimized depth-first exploration of code sequences inside a CEGIS loop. Our technique is able to quickly produce SIMD implementations (up to 9 instructions in 0.12 seconds) for a wide range of fundamental looping structures. The resulting SIMD implementations outperform the original loops by 2.0x-3.7x.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
32 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Programming-by-Demonstration for Long-Horizon Robot Tasks;Proceedings of the ACM on Programming Languages;2024-01-05
2. Faster sorting algorithms discovered using deep reinforcement learning;Nature;2023-06-07
3. AI learns to write sorting software on its own;Nature;2023-06-07
4. Fast Instruction Selection for Fast Digital Signal Processing;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 4;2023-03-25
5. Understanding the Power of Evolutionary Computation for GPU Code Optimization;2022 IEEE International Symposium on Workload Characterization (IISWC);2022-11