English

DynaSOAr: Accelerating Single-Method Multiple-Objects Applications on GPUs

Programming Languages 2019-05-30 v2 Distributed, Parallel, and Cluster Computing

Abstract

Object-oriented programming (OOP) has long been regarded as too inefficient for SIMD high-performance computing, despite the fact that many important HPC applications have an inherent object structure. We discovered a broad subset of OOP that can be implemented efficiently on massively parallel SIMD accelerators. We call it Single-Method Multiple-Objects (SMMO), because parallelism is expressed by running a method on all objects of a type. To make fast GPU programming available to domain experts who are less experienced in GPU programming, we developed DynaSOAr, a CUDA framework for SMMO applications. DynaSOAr improves the usage of allocated memory with an SOA data layout and achieves low memory fragmentation through efficient management of free and allocated memory blocks with lock-free, hierarchical bitmaps.

Keywords

Cite

@article{arxiv.1809.07444,
  title  = {DynaSOAr: Accelerating Single-Method Multiple-Objects Applications on GPUs},
  author = {Matthias Springer},
  journal= {arXiv preprint arXiv:1809.07444},
  year   = {2019}
}

Comments

ACM Student Research Competition, Grand Finals Submission, Graduate Category