dc.contributor.author | Root, Alexander J | |
dc.contributor.author | Ahmad, Maaz Bin Safeer | |
dc.contributor.author | Sharlet, Dillon | |
dc.contributor.author | Adams, Andrew | |
dc.contributor.author | Kamil, Shoaib | |
dc.contributor.author | Ragan-Kelley, Jonathan | |
dc.date.accessioned | 2024-03-01T15:48:06Z | |
dc.date.available | 2024-03-01T15:48:06Z | |
dc.date.issued | 2023-03-25 | |
dc.identifier.isbn | 979-8-4007-0394-2 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/153625 | |
dc.description.abstract | 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. | en_US |
dc.publisher | ACM | en_US |
dc.relation.isversionof | 10.1145/3623278.3624768 | en_US |
dc.rights | Creative Commons Attribution | en_US |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | en_US |
dc.source | Association for Computing Machinery | en_US |
dc.title | Fast Instruction Selection for Fast Digital Signal Processing | en_US |
dc.type | Article | en_US |
dc.identifier.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." | |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | |
dc.identifier.mitlicense | PUBLISHER_CC | |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
dc.date.updated | 2024-03-01T08:45:40Z | |
dc.language.rfc3066 | en | |
dc.rights.holder | The author(s) | |
dspace.date.submission | 2024-03-01T08:45:40Z | |
mit.license | PUBLISHER_CC | |
mit.metadata.status | Authority Work and Publication Information Needed | en_US |