ScatterAlloc: Massively Parallel Dynamic Memory Allocation for the GPU