From relational verification to SIMD loop synthesis

Gilles Barthe, Juan Manuel Crespo, César Kunz, Sumit Gulwani, Mark Marron

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

37 Scopus citations

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.

Original languageEnglish
Title of host publicationPPoPP 2013 - Proceedings of the 2013 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Pages123-133
Number of pages11
DOIs
StatePublished - 2013
Event18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2013 - Shenzhen, China
Duration: Feb 23 2013Feb 27 2013

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2013
Country/TerritoryChina
CityShenzhen
Period2/23/132/27/13

Keywords

  • program vectorization
  • relational verification
  • synthesis

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'From relational verification to SIMD loop synthesis'. Together they form a unique fingerprint.

Cite this