Saved in:
Bibliographic Details
Main Authors: Liu, Zhengyang, Mada, Stefan, Regehr, John
Format: Preprint
Published: 2023
Subjects:
Online Access:https://arxiv.org/abs/2306.00229
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914930354028544
author Liu, Zhengyang
Mada, Stefan
Regehr, John
author_facet Liu, Zhengyang
Mada, Stefan
Regehr, John
contents A superoptimizing compiler--one that performs a meaningful search of the program space as part of the optimization process--can find optimization opportunities that are missed by even the best existing optimizing compilers. We created Minotaur: a superoptimizer for LLVM that uses program synthesis to improve its code generation, focusing on integer and floating-point SIMD code. On an Intel Cascade Lake processor, Minotaur achieves an average speedup of 7.3\% on the GNU Multiple Precision library (GMP)'s benchmark suite, with a maximum speedup of 13\%. On SPEC CPU 2017, our superoptimizer produces an average speedup of 1.5\%, with a maximum speedup of 4.5\% for 638.imagick. Every optimization produced by Minotaur has been formally verified, and several optimizations that it has discovered have been implemented in LLVM as a result of our work.
format Preprint
id arxiv_https___arxiv_org_abs_2306_00229
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
Liu, Zhengyang
Mada, Stefan
Regehr, John
Programming Languages
A superoptimizing compiler--one that performs a meaningful search of the program space as part of the optimization process--can find optimization opportunities that are missed by even the best existing optimizing compilers. We created Minotaur: a superoptimizer for LLVM that uses program synthesis to improve its code generation, focusing on integer and floating-point SIMD code. On an Intel Cascade Lake processor, Minotaur achieves an average speedup of 7.3\% on the GNU Multiple Precision library (GMP)'s benchmark suite, with a maximum speedup of 13\%. On SPEC CPU 2017, our superoptimizer produces an average speedup of 1.5\%, with a maximum speedup of 4.5\% for 638.imagick. Every optimization produced by Minotaur has been formally verified, and several optimizations that it has discovered have been implemented in LLVM as a result of our work.
title Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
topic Programming Languages
url https://arxiv.org/abs/2306.00229