DynaSOAr: Efficient Parallel Object Allocator for GPGPU
SMMO (Single-Method Multiple-Objects) is a wide-spread pattern of parallel, object-oriented, high-performance code. It is OOP-speech for SIMD (Single-Instruction Multiple-Data) and means that a method should be executed for all objects of a type.
DynaSOAr comes with a parallel, lock-free, dynamic memory allocator that lets programmers create/delete objects in device code. In contrast to other allocators, this allocator is an object allocator for structured data. While other allocators allocate X number of bytes, this allocator can only allocate objects of C++ classes/structs that were defined within DynaSOAr. This allows us to apply additional data layout optimizations.
Further information:
- source code @ GitHub
- related projects:
News
- Keynote Talk on High-Level Programming Abstractions for GPGPU at CTHPC2022
- Seiichi Tejima Doctoral Dissertation Award, Matthias Springer, 2021, Memory-Efficient Object-Oriented Programming on GPUs
- Springer received Seiichi Tejima Doctoral Dissertation Award
- Masuhara’s Keynote Talk on Object Support for GPGPU at APLAS’20
- Paper on Dynamic Mem. Allocation on GPUs at ECOOP 2019
- Doctoral thesis defense by Matthias Springer
- Paper & Poster Presentation at ISMM 2019
- Springer won the First Place at the ACM Student Research Competition at SPLASH 2018
- Paper at ARRAY 2018
- Paper/Poster at WPMVP 2018 and CGO 2018 SRC
- Paper Presentation at ARRAY 2017
- Poster Presentations at PPL 2017
- Paper Presentation at ARRAY 2016
- Paper/Poster Presentations at PPL 2016
- Asakura presented master’s thesis, and Okugawa, Taya, and Watanabe presented bachelor’s thesis
- Poster presentation on Ikra at ISP2S2
- Nishiguchi, Murakami and Shao presented Master’s Theses