Optimizing Vector Instruction Selection for Digital Signal Processing

Digital signal processing applications benefit from fast implementations of vectorized inner kernels. Existing compilers rely on brittle pattern-matching or search-based methods with poor scalability for vector instruction selection – techniques which are limited by a reliance on the syntax of the i...

Full description

Bibliographic Details
Main Author: Root, Alexander James
Other Authors: Ragan-Kelley, Jonathan
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/144935
_version_ 1826208641161625600
author Root, Alexander James
author2 Ragan-Kelley, Jonathan
author_facet Ragan-Kelley, Jonathan
Root, Alexander James
author_sort Root, Alexander James
collection MIT
description Digital signal processing applications benefit from fast implementations of vectorized inner kernels. Existing compilers rely on brittle pattern-matching or search-based methods with poor scalability for vector instruction selection – techniques which are limited by a reliance on the syntax of the input code. These techniques struggle to utilize the efficient fused instructions that exist on modern hardware. This thesis extends the Rake synthesis-based optimizing compiler to target the ARM Neon ISA via the design of a high-level intermediate representation for vector computation, with each component of the IR unifying multiple concrete instructions for the target ISA. This technique relies on the semantics of the input code, rather than the syntax alone, allowing for powerful equivalent rewrites that existing compilers are currently incapable of performing. On 11 real-world benchmarks, our system achieves up to a 65% faster runtime (geometric mean of 12%) than the Halide and LLVM vector instruction selectors that have been developed over the past decade.
first_indexed 2024-09-23T14:08:32Z
format Thesis
id mit-1721.1/144935
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T14:08:32Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1449352022-08-30T03:22:22Z Optimizing Vector Instruction Selection for Digital Signal Processing Root, Alexander James Ragan-Kelley, Jonathan Adams, Andrew Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Digital signal processing applications benefit from fast implementations of vectorized inner kernels. Existing compilers rely on brittle pattern-matching or search-based methods with poor scalability for vector instruction selection – techniques which are limited by a reliance on the syntax of the input code. These techniques struggle to utilize the efficient fused instructions that exist on modern hardware. This thesis extends the Rake synthesis-based optimizing compiler to target the ARM Neon ISA via the design of a high-level intermediate representation for vector computation, with each component of the IR unifying multiple concrete instructions for the target ISA. This technique relies on the semantics of the input code, rather than the syntax alone, allowing for powerful equivalent rewrites that existing compilers are currently incapable of performing. On 11 real-world benchmarks, our system achieves up to a 65% faster runtime (geometric mean of 12%) than the Halide and LLVM vector instruction selectors that have been developed over the past decade. M.Eng. 2022-08-29T16:22:07Z 2022-08-29T16:22:07Z 2022-05 2022-05-27T16:19:05.625Z Thesis https://hdl.handle.net/1721.1/144935 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Root, Alexander James
Optimizing Vector Instruction Selection for Digital Signal Processing
title Optimizing Vector Instruction Selection for Digital Signal Processing
title_full Optimizing Vector Instruction Selection for Digital Signal Processing
title_fullStr Optimizing Vector Instruction Selection for Digital Signal Processing
title_full_unstemmed Optimizing Vector Instruction Selection for Digital Signal Processing
title_short Optimizing Vector Instruction Selection for Digital Signal Processing
title_sort optimizing vector instruction selection for digital signal processing
url https://hdl.handle.net/1721.1/144935
work_keys_str_mv AT rootalexanderjames optimizingvectorinstructionselectionfordigitalsignalprocessing