Show simple item record

dc.contributor.authorMendis, C
dc.contributor.authorYang, C
dc.contributor.authorPu, Y
dc.contributor.authorAmarasinghe, S
dc.contributor.authorCarbin, M
dc.date.accessioned2021-11-05T11:45:18Z
dc.date.available2021-11-05T11:45:18Z
dc.date.issued2019-12
dc.identifier.urihttps://hdl.handle.net/1721.1/137424
dc.description.abstract© 2019 Neural information processing systems foundation. All rights reserved. Modern microprocessors are equipped with single instruction multiple data (SIMD) or vector instruction sets which allow compilers to exploit fine-grained data level parallelism. To exploit this parallelism, compilers employ auto-vectorization techniques to automatically convert scalar code into vector code. Larsen & Amarasinghe (2000) first introduced superword level parallelism (SLP) based vectorization, which is a form of vectorization popularly used by compilers. Current compilers employ hand-crafted heuristics and typically only follow one SLP vectorization strategy which can be suboptimal. Recently, Mendis & Amarasinghe (2018) formulated the instruction packing problem of SLP vectorization by leveraging an integer linear programming (ILP) solver, achieving superior runtime performance. In this work, we explore whether it is feasible to imitate optimal decisions made by their ILP solution by fitting a graph neural network policy. We show that the learnt policy, Vemal, produces a vectorization scheme that is better than the well-tuned heuristics used by the LLVM compiler. More specifically, the learnt agent produces a vectorization strategy that has a 22.6% higher average reduction in cost compared to the LLVM compiler when measured using its own cost model, and matches the runtime performance of the ILP based solution in 5 out of 7 applications in the NAS benchmark suite.en_US
dc.language.isoen
dc.relation.isversionofhttps://papers.nips.cc/paper/2019/hash/d1d5923fc822531bbfd9d87d4760914b-Abstract.htmlen_US
dc.rightsArticle is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.en_US
dc.sourceNeural Information Processing Systems (NIPS)en_US
dc.titleCompiler auto-vectorization with imitation learningen_US
dc.typeArticleen_US
dc.identifier.citationMendis, C, Yang, C, Pu, Y, Amarasinghe, S and Carbin, M. 2019. "Compiler auto-vectorization with imitation learning." Advances in Neural Information Processing Systems, 32.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalAdvances in Neural Information Processing Systemsen_US
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.updated2020-11-23T19:55:33Z
dspace.orderedauthorsMendis, C; Yang, C; Pu, Y; Amarasinghe, S; Carbin, Men_US
dspace.date.submission2020-11-23T19:55:51Z
mit.journal.volume32en_US
mit.licensePUBLISHER_POLICY
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