mallocMC: Memory Allocator for Many Core Architectures
This project provides a framework for fast memory managers on many core
accelerators. Currently, it supports NVIDIA GPUs of compute capability
sm_20 or higher through the ScatterAlloc algorithm.
Follow the step-by-step instructions in Usage.md to replace your
malloc calls with a blacingly fast mallocMC heap!
mallocMC is header-only, but requires a few other C++ libraries to be available. Our installation notes can be found in INSTALL.md.
On the ScatterAlloc Algorithm
This library implements the ScatterAlloc algorithm, originally forked from the ScatterAlloc project, developed by the Managed Volume Processing group at Institute for Computer Graphics and Vision, TU Graz (kudos!).
ScatterAlloc is a dynamic memory allocator for the GPU. It is designed concerning the requirements of massively parallel execution. ScatterAlloc greatly reduces collisions and congestion by scattering memory requests based on hashing. It can deal with thousands of GPU-threads concurrently allocating memory and its execution time is almost independent of the thread count. ScatterAlloc is open source and easy to use in your CUDA projects.
Original Homepage: http://www.icg.tugraz.at/project/mvp
Our Homepage: https://www.hzdr.de/crp
|master||our latest stable release|
|dev||our development branch - start and merge new branches here|
|tugraz||n/a||ScatterAlloc "upstream" branch: not backwards compatible mirror for algorithmic changes|
Just an incomplete link collection for now:
Paper by Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg
2012, May 5th: Presentation at Innovative Parallel Computing 2012 by Bernhard Kainz