Show simple item record

dc.contributor.authorPhothilimthana, Phitchaya Mangpo
dc.contributor.authorAnsel, Jason Andrew
dc.contributor.authorRagan-Kelley, Jonathan Millar
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2014-03-28T14:06:54Z
dc.date.available2014-03-28T14:06:54Z
dc.date.issued2013-03
dc.identifier.isbn9781450318709
dc.identifier.urihttp://hdl.handle.net/1721.1/85945
dc.description.abstractTrends in both consumer and high performance computing are bringing not only more cores, but also increased heterogeneity among the computational resources within a single machine. In many machines, one of the greatest computational resources is now their graphics coprocessors (GPUs), not just their primary CPUs. But GPU programming and memory models differ dramatically from conventional CPUs, and the relative performance characteristics of the different processors vary widely between machines. Different processors within a system often perform best with different algorithms and memory usage patterns, and achieving the best overall performance may require mapping portions of programs across all types of resources in the machine. To address the problem of efficiently programming machines with increasingly heterogeneous computational resources, we propose a programming model in which the best mapping of programs to processors and memories is determined empirically. Programs define choices in how their individual algorithms may work, and the compiler generates further choices in how they can map to CPU and GPU processors and memory systems. These choices are given to an empirical autotuning framework that allows the space of possible implementations to be searched at installation time. The rich choice space allows the autotuner to construct poly-algorithms that combine many different algorithmic techniques, using both the CPU and the GPU, to obtain better performance than any one technique alone. Experimental results show that algorithmic changes, and the varied use of both CPUs and GPUs, are necessary to obtain up to a 16.5x speedup over using a single program configuration for all architectures.en_US
dc.description.sponsorshipUnited States. Dept. of Energy (Award DE-SC0005288)en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (Award HR0011-10-9-0009)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Award CCF-0632997)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2451116.2451162en_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.titlePortable performance on heterogeneous architecturesen_US
dc.typeArticleen_US
dc.identifier.citationPhitchaya Mangpo Phothilimthana, Jason Ansel, Jonathan Ragan-Kelley, and Saman Amarasinghe. 2013. Portable performance on heterogeneous architectures. Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’13) (March 2013), 431-444.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.mitauthorPhothilimthana, Phitchaya Mangpoen_US
dc.contributor.mitauthorAnsel, Jason Andrewen_US
dc.contributor.mitauthorRagan-Kelley, Jonathan Millaren_US
dc.contributor.mitauthorAmarasinghe, Saman P.en_US
dc.relation.journalProceedings of the eighteenth international conference on Architectural support for programming languages and operating systems (ASPLOS '13)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.orderedauthorsPhothilimthana, Phitchaya Mangpo; Ansel, Jason; Ragan-Kelley, Jonathan; Amarasinghe, Samanen_US
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