Date of Award
8-2023
Document Type
Campus Access Thesis
Degree Name
Master of Science (MS)
Department
Computer Science
First Advisor
Tiago Cogumbreiro
Second Advisor
Ryan Culpepper
Third Advisor
Dan Simovici
Abstract
GPU kernels have exploded in popularity over the last decade due their immense power for parallel computation with applications in science, cryptography, graphics, vision, and machine learning. With that added power comes the complexity of programming in a commonly unfamiliar paradigm. To help developers avoid errors and performance issues, researchers have developed tools to spot problems in source code by static analysis. Since these tools aim to serve developers who want rapid feedback, performance is important, so a trade-off exists between the compromising the precision of false alarms and simplifying analyses. Feature selection may have a significant impact on the effectiveness of these compromises. In order to improve these tools and commit to compromises that produce useful tools, we need a more careful study of real world programming techniques. To do this, we investigated the challenges of one language of GPU Kernel programming (CUDA) and the techniques and compromises of existing tools to understand common patterns of programming in public, open-source data. We wrote a client to obtain public data from GitHub, parse the available code using LLVM, reuse code from Faial (a CUDA static analyzer) to recognize code patterns, and then quantify and analyze the results in Python. We were able to obtain 263 projects and about 6,526kernels for analysis. The results of the analysis showed that the programming features usage by GPU kernel developers tend to be shallow rather than sophisticated, justifying compromises on analysis.
Recommended Citation
Blike, Gregory, "An Empirical Study of GPU Programming Patterns" (2023). Graduate Masters Theses. 801.
https://scholarworks.umb.edu/masters_theses/801
Comments
Free and open access to this Campus Access Thesis is made available to the UMass Boston community by ScholarWorks at UMass Boston. Those not on campus and those without a UMass Boston campus username and password may gain access to this thesis through resources like Proquest Dissertations & Theses Global or through Interlibrary Loan. If you have a UMass Boston campus username and password and would like to download this work from off-campus, click on the "Off-Campus UMass Boston Users" link above.