Abstractions for Code Migration from CPU to GPU in Simulation Domain

dc.contributor.advisorStiber, Michael
dc.contributor.authorWadhwa, Avikant
dc.date.accessioned2025-08-01T22:09:42Z
dc.date.available2025-08-01T22:09:42Z
dc.date.issued2025-08-01
dc.date.submitted2025
dc.descriptionThesis (Master's)--University of Washington, 2025
dc.description.abstractSimulations are crucial in science, enabling the modeling of complex phenomena that are difficult to study experimentally. As they scale, they demand greater performance and efficiency. To meet this need, computing has shifted toward heterogeneous architectures that combine CPUs and GPUs. While effective, this shift introduces software engineering challenges, making abstraction an increasingly important tool for improving programmability. Abstractions hide low-level implementation details behind clean interfaces, improving clarity and reducing complexity. This thesis reviews existing abstractions for heterogeneous architectures, analyzing their integration effort, performance trade-offs, and limitations. It uses the insights from that review to present the design and implementation of DeviceVector, a lightweight abstraction that unifies host and device memory management in Graphitti, a high-performance graph-based simulation platform. DeviceVector enhances programmability by reducing code duplication, introducing a clear CPU–GPU data relationship, and abstracting CUDA boilerplate through an interface that closely mirrors a standard C++ container. It also discusses design approaches for extending support in the future to object hierarchies and general function-level abstractions, further minimizing logic duplication between host and device code. Overall, this work highlights how thoughtful abstraction design can bridge the usability-performance gap in heterogeneous computing systems.
dc.embargo.termsOpen Access
dc.format.mimetypeapplication/pdf
dc.identifier.otherWadhwa_washington_0250O_28531.pdf
dc.identifier.urihttps://hdl.handle.net/1773/53214
dc.language.isoen_US
dc.rightsnone
dc.subjectAbstractions
dc.subjectGPU Programming
dc.subjectHeterogeneous
dc.subjectSimulation
dc.subjectSoftware Design
dc.subjectSoftware Engineering
dc.subjectComputer science
dc.subject.otherComputing and software systems
dc.titleAbstractions for Code Migration from CPU to GPU in Simulation Domain
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Wadhwa_washington_0250O_28531.pdf
Size:
608.96 KB
Format:
Adobe Portable Document Format