Show simple item record

dc.contributor.authorBansal, Manya
dc.contributor.authorSharlet, Dillon
dc.contributor.authorRagan-Kelley, Jonathan
dc.contributor.authorAmarasinghe, Saman
dc.date.accessioned2026-01-30T21:35:47Z
dc.date.available2026-01-30T21:35:47Z
dc.date.issued2025-06-13
dc.identifier.issn2475-1421
dc.identifier.urihttps://hdl.handle.net/1721.1/164683
dc.description.abstractSubroutines are essential building blocks in software design: users encapsulate common functionality in libraries and write applications by composing calls to subroutines. Unfortunately, performance may be lost at subroutine boundaries due to reduced locality and increased memory consumption. Operator fusion helps recover performance lost at composition boundaries. Previous solutions fuse operators by manually rewriting code into monolithic fused subroutines, or by relying on heavy-weight compilers to generate code that performs fusion. Both approaches require a semantic understanding of the entire computation, breaking the decoupling necessary for modularity and reusability of subroutines. In this work, we attempt to identify the minimal ingredients required to fuse computations, enabling composition of subroutines without sacrificing performance or modularity. We find that, unlike previous approaches that require a semantic understanding of the computation, most opportunities for fusion require understanding only data production and consumption patterns. Exploiting this insight, we add fusion on top of black-box subroutines by proposing a lightweight enrichment of subroutine declarations to expose data-dependence patterns. We implement our approach in a system called Fern, and demonstrate Fern's benefits by showing that it is competitive with state-of-the-art, high-performance libraries with manually fused operators, can fuse across library and domain boundaries for unforeseen workloads, and can deliver speedups of up to $5\times$ over unfused code.en_US
dc.publisherACMen_US
dc.relation.isversionofhttps://doi.org/10.1145/3729292en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleLightweight and Locality-Aware Composition of Black-Box Subroutinesen_US
dc.typeArticleen_US
dc.identifier.citationManya Bansal, Dillon Sharlet, Jonathan Ragan-Kelley, and Saman Amarasinghe. 2025. Lightweight and Locality-Aware Composition of Black-Box Subroutines. Proc. ACM Program. Lang. 9, PLDI, Article 189 (June 2025), 25 pages.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.identifier.mitlicensePUBLISHER_POLICY
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2025-08-01T08:57:53Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2025-08-01T08:57:53Z
mit.journal.volume9en_US
mit.journal.issuePLDIen_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record