Portable Programming Models for Heterogeneous Platforms

dc.contributor.advisorSarkar, Viveken_US
dc.contributor.committeeMemberMellor-Crummey, Johnen_US
dc.contributor.committeeMemberWarburton, Timothy Cen_US
dc.contributor.committeeMemberBarik, Rajkishoreen_US
dc.creatorMajeti, Deepaken_US
dc.date.accessioned2016-01-25T15:34:25Zen_US
dc.date.available2016-01-25T15:34:25Zen_US
dc.date.created2015-12en_US
dc.date.issued2015-09-14en_US
dc.date.submittedDecember 2015en_US
dc.date.updated2016-01-25T15:34:25Zen_US
dc.description.abstractWith the end of Dennard scaling and emergence of dark silicon, the bets are high on heterogeneous architectures to achieve both application performance and energy efficiency. However, diversity in heterogeneous architectures poses severe programming challenges in terms of data layout, memory coherence, task partitioning, data distribution, and sharing of virtual addresses. Existing high-level programming languages are inadequate to address these new architectural features since they lack the necessary abstractions to address the challenges mentioned above. It is necessary for existing languages to be extended minimally with high-level constructs while maintaining existing standards of portability, performance, and productivity. The compiler and runtime together must efficiently map these constructs to a target architecture. We develop Concord, a C++ based programming model that extends the Intel Threading Building Blocks onto integrated heterogeneous CPU+GPU architectures that do not share the same virtual address between CPU and GPU. Concord supports many C++ features including virtual functions. We implement Shared Virtual Memory to map applications with pointer intensive data structures onto heterogeneous architectures that do not share the same virtual address. We introduce Heterogeneous Habanero-C (H2C), an implementation of the Habanero execution model targeting modern heterogeneous architectures with multiple devices. H2C provides high-level constructs to specify the computation, communication and synchronization in a given application. The H2C compiler and runtime frameworks efficiently map these high-level constructs onto the underlying heterogeneous hardware. The highlights of H2C include: a data layout framework to generate code with best data layout suited for a given memory hierarchy; constructs to specify a task partition, leaving the complex analysis of determining the resultant data distribution to the compiler; and a unified event framework that allows a programmer to write applications with a macro data-flow model onto heterogeneous architectures. Experimental results show Concord and H2C provide good portability, productivity, and performance. In the future, we believe heterogeneous architectures will be more diverse and more pervasive. We believe programming systems like H2C and Concord that have a tight integration of language, compiler and runtime are the right way to target current and future heterogeneous systems.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.citationMajeti, Deepak. "Portable Programming Models for Heterogeneous Platforms." (2015) Diss., Rice University. <a href="https://hdl.handle.net/1911/88096">https://hdl.handle.net/1911/88096</a>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/88096en_US
dc.language.isoengen_US
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.en_US
dc.subjectprogramming modelsen_US
dc.subjectheterogeneous architecturesen_US
dc.subjectOpenCLen_US
dc.subjectC++en_US
dc.subjectCen_US
dc.subjecten_US
dc.titlePortable Programming Models for Heterogeneous Platformsen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophyen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
MAJETI-DOCUMENT-2015.pdf
Size:
3.73 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 2 of 2
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.84 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.61 KB
Format:
Plain Text
Description: