arXiv · 1908.05845
Memory-Efficient Object-Oriented Programming on GPUs
Abstract
Object-oriented programming is often regarded as too inefficient for high-performance computing (HPC), despite the fact that many important HPC problems have an inherent object structure. Our goal is to bring efficient, object-oriented programming to massively parallel SIMD architectures, especially GPUs. In this thesis, we develop various techniques for optimizing object-oriented GPU code. Most notably, we identify the object-oriented Single-Method Multiple-Objects (SMMO) programming model. We first develop an embedded C++ Structure of Arrays (SOA) data layout DSL for SMMO applications. We then design a lock-free, dynamic memory allocator that stores allocations in SOA layout. Finally, we show how to further optimize the memory access of SMMO applications with memory defragmentation.
Explore related subjects
Keep this discovery
Matthias Springer. 2019-08-16. Memory-Efficient Object-Oriented Programming on GPUs. https://arxiv.org/abs/1908.05845
Cite the original work for its findings. Save a collection to share your selection of sources.