Minotaur: A SIMD-Oriented Synthesizing Superoptimizer

7Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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.

Cite

CITATION STYLE

APA

Liu, Z., Mada, S., & Regehr, J. (2024). Minotaur: A SIMD-Oriented Synthesizing Superoptimizer. Proceedings of the ACM on Programming Languages, 8(OOPSLA2). https://doi.org/10.1145/3689766

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free