Show simple item record

dc.contributor.authorRoot, Alexander J
dc.contributor.authorAhmad, Maaz Bin Safeer
dc.contributor.authorSharlet, Dillon
dc.contributor.authorAdams, Andrew
dc.contributor.authorKamil, Shoaib
dc.contributor.authorRagan-Kelley, Jonathan
dc.date.accessioned2024-03-01T15:48:06Z
dc.date.available2024-03-01T15:48:06Z
dc.date.issued2023-03-25
dc.identifier.isbn979-8-4007-0394-2
dc.identifier.urihttps://hdl.handle.net/1721.1/153625
dc.description.abstractModern 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.publisherACMen_US
dc.relation.isversionof10.1145/3623278.3624768en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleFast Instruction Selection for Fast Digital Signal Processingen_US
dc.typeArticleen_US
dc.identifier.citationRoot, 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.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2024-03-01T08:45:40Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2024-03-01T08:45:40Z
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record