Show simple item record

dc.contributor.authorAnsel, Jason Andrew
dc.contributor.authorChan, Cy
dc.contributor.authorWong, Yee Lok
dc.contributor.authorOlszewski, Marek Krystyn
dc.contributor.authorZhao, Qin
dc.contributor.authorEdelman, Alan
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2011-04-22T18:38:42Z
dc.date.available2011-04-22T18:38:42Z
dc.date.issued2009-06
dc.date.submitted2009-06
dc.identifier.isbn978-1-60558-392-1
dc.identifier.urihttp://hdl.handle.net/1721.1/62300
dc.description.abstractIt is often impossible to obtain a one-size-fits-all solution for high performance algorithms when considering different choices for data distributions, parallelism, transformations, and blocking. The best solution to these choices is often tightly coupled to different architectures, problem sizes, data, and available system resources. In some cases, completely different algorithms may provide the best performance. Current compiler and programming language techniques are able to change some of these parameters, but today there is no simple way for the programmer to express or the compiler to choose different algorithms to handle different parts of the data. Existing solutions normally can handle only coarse-grained, library level selections or hand coded cutoffs between base cases and recursive cases. We present PetaBricks, a new implicitly parallel language and compiler where having multiple implementations of multiple algorithms to solve a problem is the natural way of programming. We make algorithmic choice a first class construct of the language. Choices are provided in a way that also allows our compiler to tune at a finer granularity. The PetaBricks compiler autotunes programs by making both fine-grained as well as algorithmic choices. Choices also include different automatic parallelization techniques, data distributions, algorithmic parameters, transformations, and blocking. Additionally, we introduce novel techniques to autotune algorithms for different convergence criteria. When choosing between various direct and iterative methods, the PetaBricks compiler is able to tune a program in such a way that delivers near-optimal efficiency for any desired level of accuracy. The compiler has the flexibility of utilizing different convergence criteria for the various components within a single algorithm, providing the user with accuracy choice alongside algorithmic choice.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Grant No.CCF-0832997)en_US
dc.description.sponsorshipGigascale Systems Research Centeren_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/1543135.1542481en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titlePetaBricks: A Language and Compiler for Algorithmic Choiceen_US
dc.typeArticleen_US
dc.identifier.citationJason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman, and Saman Amarasinghe. 2009. PetaBricks: a language and compiler for algorithmic choice. In Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation (PLDI '09). ACM, New York, NY, USA, 38-49.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.departmentMassachusetts Institute of Technology. Department of Mathematicsen_US
dc.contributor.approverEdelman, Alan
dc.contributor.mitauthorAnsel, Jason Andrew
dc.contributor.mitauthorChan, Cy
dc.contributor.mitauthorWong, Yee Lok
dc.contributor.mitauthorOlszewski, Marek Krystyn
dc.contributor.mitauthorZhao, Qin
dc.contributor.mitauthorEdelman, Alan
dc.contributor.mitauthorAmarasinghe, Saman P.
dc.relation.journalProceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementationen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsAnsel, Jason; Chan, Cy; Wong, Yee Lok; Olszewski, Marek; Zhao, Qin; Edelman, Alan; Amarasinghe, Samanen
dc.identifier.orcidhttps://orcid.org/0000-0001-7676-3133
dc.identifier.orcidhttps://orcid.org/0000-0002-7231-7643
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