Fast Instruction Selection for Fast Digital Signal Processing
Author(s)
Root, Alexander J; Ahmad, Maaz Bin Safeer; Sharlet, Dillon; Adams, Andrew; Kamil, Shoaib; Ragan-Kelley, Jonathan; ... Show more Show less
Download3623278.3624768.pdf (1.340Mb)
Publisher with Creative Commons License
Publisher with Creative Commons License
Creative Commons Attribution
Terms of use
Metadata
Show full item recordAbstract
Modern vector processors support a wide variety of instructions for fixed-point digital signal processing. These instructions support a proliferation of rounding, saturating, and type conversion modes, and are often fused combinations of more primitive operations. While these are common idioms in fixed-point signal processing, it is difficult to use these operations in portable code. It is challenging for programmers to write down portable integer arithmetic in a C-like language that corresponds exactly to one of these instructions, and even more challenging for compilers to recognize when these instructions can be used. Our system, Pitchfork, defines a portable fixed-point intermediate representation, FPIR, that captures common idioms in fixed-point code. FPIR can be used directly by programmers experienced with fixed-point, or Pitchfork can automatically lift from integer operations into FPIR using a term-rewriting system (TRS) composed of verified manual and automatically-synthesized rules. Pitchfork then lowers from FPIR into target-specific fixed-point instructions using a set of target-specific TRSs. We show that this approach improves runtime performance of portably-written fixed-point signal processing code in Halide, across a range of benchmarks, by geomean 1.31x on x86 with AVX2, 1.82x on ARM Neon, and 2.44x on Hexagon HVX compared to a standard LLVM-based compiler flow, while maintaining or improving existing compile times.
Date issued
2023-03-25Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
ACM
Citation
Root, Alexander J, Ahmad, Maaz Bin Safeer, Sharlet, Dillon, Adams, Andrew, Kamil, Shoaib et al. 2023. "Fast Instruction Selection for Fast Digital Signal Processing."
Version: Final published version
ISBN
979-8-4007-0394-2
Collections
The following license files are associated with this item: