Abstract:
This artifact contains the source code of DynaSOAr, a CUDA framework for Single-Method Multiple-Objects (SMMO) applications. SMMO is a type of object-oriented programs in which parallelism is expressed by running the same method on all applications of a type. DynaSOAr is a dynamic memory allocator, combined with a data layout DSL and a parallel do-all operation. This artifact provides a tutorial explaining the API of DynaSOAr, along with nine benchmark applications from different domains. All benchmarks can be configured to use a different memory allocator to allow for a comparison with other state-of-the-art memory allocators.
Reference:
DynaSOAr: A Parallel Memory Allocator for Object-Oriented Programming on GPUs with Efficient Memory Access (Artifact) (Matthias Springer and Hidehiko Masuhara), In Dagstuhl Artifacts Series, Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, volume 5, 2019.
Bibtex Entry:
@article{springer2019ecoop-ae,
author = {Matthias Springer and Hidehiko Masuhara},
title = {{DynaSOAr: A Parallel Memory Allocator for Object-Oriented Programming on GPUs with Efficient Memory Access (Artifact)}},
pages = {2:1--2:2},
journal = {Dagstuhl Artifacts Series},
issn = {2509-8195},
month = jul,
year = {2019},
volume = {5},
number = {2},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
url = {http://drops.dagstuhl.de/opus/volltexte/2019/10779},
doi = {10.4230/DARTS.5.2.2},
keywords = {CUDA, Data Layout, Dynamic Memory Allocation, GPUs, Object-Oriented Programming, SIMD, Single-Instruction Multiple-Objects, Structure of Arrays, C++},
abstract = { This artifact contains the source code of DynaSOAr, a CUDA framework for Single-Method Multiple-Objects (SMMO) applications. SMMO is a type of object-oriented programs in which parallelism is expressed by running the same method on all applications of a type. DynaSOAr is a dynamic memory allocator, combined with a data layout DSL and a parallel do-all operation. This artifact provides a tutorial explaining the API of DynaSOAr, along with nine benchmark applications from different domains. All benchmarks can be configured to use a different memory allocator to allow for a comparison with other state-of-the-art memory allocators. }
}