SPLASH 2018 (series) / Student Research Competition /
SoaAlloc: Dynamic Object Allocation in Structure of Arrays Data Layout on GPUs
We propose SoaAlloc, a new dynamic object allocator for CUDA. SoaAlloc is the first object allocator for GPUs that (a) arranges allocations in a SIMD-friendly Structure of Arrays data layout, (b) provides a do-all operation, and (c) is on par with state-of-the-art memory allocators for raw (de)allocation time. Our benchmarks show that the SOA layout leads to significantly better memory bandwidth utilization, resulting in a 2x speedup of application code.