Show simple item record

dc.contributor.authorWhite, Dereken_US
dc.date.accessioned2014-09-17T17:28:54Z
dc.date.available2014-09-17T17:28:54Z
dc.date.issued2014-09-17
dc.date.submittedJanuary 2014en_US
dc.identifier.otherDISS-12351en_US
dc.identifier.urihttp://hdl.handle.net/10106/24708
dc.description.abstractPowerful Graphics Processing Units (commonly called GPUs) are proliferatingrapidly and are becoming a viable choice for a wide range of user applications. Forperforming computationally intensive tasks on these processors, it is highly desirable to have software tools that can facilitate writing effective programming codewhile taking advantage of the full potential offered by these processors. Multi-levelmemory hierarchy, extensive data transfer, and the utilization of a large number ofprocessing cores are daunting challenges in writing code for data-parallel computingtasks. The programming experience becomes more cumbersome due to the significantrestrictions imposed by the OpenCL specification including the inability to allocatememory dynamically. The contribution of this dissertation is developing a methodicalframework that can assist the programmer in writing efficient code using a modern,expressive programming language combined with creative uses of static and dynamicprogram analysis that can alleviate some of the challenges mentioned above. Ourmethodology allows writing codes with object-oriented programming style that cantake advantage of the GPU capabilities. Our framework addresses the problem ofdynamic memory allocation and proposes a memory usage analysis that gives programmers the advantage of dynamic memory allocation while operating within theconstraints of OpenCL devices. We have also developed a sofware tool that performsstatic analysis on GPU kernels written in the Scala programming language using theFirepile GPU programming library. The tool computes an upper bound on memoryusage and utilizes this bound to pre-allocate memory needed to successfully executethe kernel on the GPU. Addressing the problem of dynamic memory allocation, we present a memory usage analysis that gives programmers the illusion of dynamic memory allocation while operating within the constraints of OpenCL devices. Static analysis is performed on GPU kernels written in the Scala programming language using the Firepile GPU programming library. An upper bound on memory usage of the kernel is computed. This bound is used to pre-allocate memory needed to successfully execute the kernel on the GPU. Our experiments show that the analysis finds a conservative upper bound with respect to actual memory allocated by execution of the program on the JVM.en_US
dc.description.sponsorshipAhmad, Ishfaqen_US
dc.language.isoenen_US
dc.publisherComputer Science & Engineeringen_US
dc.titleRun-time Compilation And Dynamic Memory Use Analysis For GPUsen_US
dc.typePh.D.en_US
dc.contributor.committeeChairAhmad, Ishfaqen_US
dc.degree.departmentComputer Science & Engineeringen_US
dc.degree.disciplineComputer Science & Engineeringen_US
dc.degree.grantorUniversity of Texas at Arlingtonen_US
dc.degree.leveldoctoralen_US
dc.degree.namePh.D.en_US


Files in this item

Thumbnail


This item appears in the following Collection(s)

Show simple item record