Show simple item record

Dynamic Orchestration of Massively Data Parallel Execution.

dc.contributor.authorSamadiarakhshbahar, Mehrzaden_US
dc.date.accessioned2014-10-13T18:19:14Z
dc.date.availableNO_RESTRICTIONen_US
dc.date.available2014-10-13T18:19:14Z
dc.date.issued2014en_US
dc.date.submitted2014en_US
dc.identifier.urihttps://hdl.handle.net/2027.42/108805
dc.description.abstractGraphics processing units (GPUs) are specialized hardware accelerators capable of rendering graphics much faster than conventional general-purpose processors. They are widely used in personal computers, tablets, mobile phones, and game consoles. Modern GPUs are not only efficient at manipulating computer graphics, but also are more effective than CPUs for algorithms where processing of large data blocks can be done in parallel. This is mainly due to their highly parallel architecture. While GPUs provide low-cost and efficient platforms for accelerating massively parallel applications, tedious performance tuning is required to maximize application execution efficiency. Achieving high performance requires the programmers to manually manage the amount of on-chip memory used per thread, the total number of threads per multiprocessor, the pattern of off-chip memory accesses, etc. In addition to a complex programming model, there is a lack of performance portability across various systems with different runtime properties. Programmers usually make assumptions about runtime properties when they write code and optimize that code based on those assumptions. However, if any of these properties changes during execution, the optimized code performs poorly. To alleviate these limitations, several implementations of the application are needed to maximize performance for different runtime properties. However, it is not practical for the programmer to write several different versions of the same code which are optimized for each individual runtime condition. In this thesis, we propose a static and dynamic compiler framework to take the burden of fine tuning different implementations of the same code off the programmer. This framework enables the programmer to write the program once and allow a static compiler to generate different versions of a data parallel application with several tuning parameters. The runtime system selects the best version and fine tunes its parameters based on runtime properties such as device configuration, input size, dependency, and data values.en_US
dc.language.isoen_USen_US
dc.subjectCompilersen_US
dc.subjectApproximationen_US
dc.subjectGPUsen_US
dc.subjectPerformance Portabilityen_US
dc.subjectCode Generationen_US
dc.subjectApproximate Computingen_US
dc.titleDynamic Orchestration of Massively Data Parallel Execution.en_US
dc.typeThesisen_US
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineComputer Science & Engineeringen_US
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studiesen_US
dc.contributor.committeememberMahlke, Scotten_US
dc.contributor.committeememberDick, Roberten_US
dc.contributor.committeememberMudge, Trevor N.en_US
dc.contributor.committeememberWenisch, Thomas F.en_US
dc.subject.hlbsecondlevelComputer Scienceen_US
dc.subject.hlbtoplevelEngineeringen_US
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/108805/1/mehrzads_1.pdf
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.