Memory-Efficient Object-Oriented Programming on GPUs
Tokyo Institute of Technology
arXiv:1908.05845 [cs.PL], (16 Aug 2019)
@misc{springer2019memoryefficient,
title={Memory-Efficient Object-Oriented Programming on GPUs},
author={Matthias Springer},
year={2019},
eprint={1908.05845},
archivePrefix={arXiv},
primaryClass={cs.PL}
}
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.
August 25, 2019 by hgpu
Your response
You must be logged in to post a comment.