Show simple item record

dc.contributor.authorWu, Kevin
dc.contributor.authorKamil, Shoaib
dc.contributor.authorRagan-Kelley, Jonathan
dc.contributor.authorParis, Sylvain
dc.contributor.authorZhao, Qin
dc.contributor.authorMendis, Thirimadura C. Yasend
dc.contributor.authorBosboom, Jeffrey William
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2015-11-04T13:01:27Z
dc.date.available2015-11-04T13:01:27Z
dc.date.issued2015-06
dc.identifier.isbn9781450334686
dc.identifier.urihttp://hdl.handle.net/1721.1/99696
dc.description.abstractHighly optimized programs are prone to bit rot, where performance quickly becomes suboptimal in the face of new hardware and compiler techniques. In this paper we show how to automatically lift performance-critical stencil kernels from a stripped x86 binary and generate the corresponding code in the high-level domain-specific language Halide. Using Halide’s state-of-the-art optimizations targeting current hardware, we show that new optimized versions of these kernels can replace the originals to rejuvenate the application for newer hardware. The original optimized code for kernels in stripped binaries is nearly impossible to analyze statically. Instead, we rely on dynamic traces to regenerate the kernels. We perform buffer structure reconstruction to identify input, intermediate and output buffer shapes. We abstract from a forest of concrete dependency trees which contain absolute memory addresses to symbolic trees suitable for high-level code generation. This is done by canonicalizing trees, clustering them based on structure, inferring higher-dimensional buffer accesses and finally by solving a set of linear equations based on buffer accesses to lift them up to simple, high-level expressions. Helium can handle highly optimized, complex stencil kernels with input-dependent conditionals. We lift seven kernels from Adobe Photoshop giving a 75% performance improvement, four kernels from IrfanView, leading to 4.97× performance, and one stencil from the miniGMG multigrid benchmark netting a 4.25× improvement in performance. We manually rejuvenated Photoshop by replacing eleven of Photoshop’s filters with our lifted implementations, giving 1.12× speedup without affecting the user experience.en_US
dc.description.sponsorshipUnited States. Dept. of Energy (Award DE-SC0005288)en_US
dc.description.sponsorshipUnited States. Dept. of Energy (Award DE-SC0008923)en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (Agreement FA8759-14-2-0009)en_US
dc.description.sponsorshipMIT Energy Initiative (Fellowship)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2737924.2737974en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT web domainen_US
dc.titleHelium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL codeen_US
dc.typeArticleen_US
dc.identifier.citationCharith Mendis, Jeffrey Bosboom, Kevin Wu, Shoaib Kamil, Jonathan Ragan-Kelley, Sylvain Paris, Qin Zhao, and Saman Amarasinghe. 2015. Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015). ACM, New York, NY, USA, 391-402.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorMendis, Thirimadura C. Yasenden_US
dc.contributor.mitauthorBosboom, Jeffrey Williamen_US
dc.contributor.mitauthorWu, Kevinen_US
dc.contributor.mitauthorKamil, Shoaiben_US
dc.contributor.mitauthorAmarasinghe, Saman P.en_US
dc.relation.journalProceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsMendis, Charith; Bosboom, Jeffrey; Wu, Kevin; Kamil, Shoaib; Ragan-Kelley, Jonathan; Paris, Sylvain; Zhao, Qin; Amarasinghe, Samanen_US
dc.identifier.orcidhttps://orcid.org/0000-0003-2179-3540
dc.identifier.orcidhttps://orcid.org/0000-0002-0905-1125
dc.identifier.orcidhttps://orcid.org/0000-0002-7231-7643
dc.identifier.orcidhttps://orcid.org/0000-0002-8526-4085
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record