Data Access and Sharing
C++ CMake Makefile
Latest commit 6f1b449 Jun 8, 2016 @eile eile Merge pull request #38 from eile/master
Remove unused code
Failed to load latest commit information.
CMake CMake/common adaptions Apr 14, 2016
dash CMake/common adaptions Apr 14, 2016
doc Release 1.0.2 Oct 6, 2014
.gitsubprojects Remove unused code Apr 29, 2016
AUTHORS.txt Move text files around Nov 2, 2012
GNUmakefile Packaging Nov 2, 2012
LICENSE.txt Update Nov 11, 2015



DASH provides generic, efficient multi-threaded data access. It allows data distribution and synchronization in heterogenous environments, implemented by the CoDASH library. The primary use case is the development of task-parallel multi-threaded applications.

DASH fulfills the following requirements:

  • Memory efficient
    • All threads share the data and copy-on-write
    • Single-threaded use does not create any additional copies
    • Different data representations may share underlying data, e.g., triangles between a BVH and kd-tree.
  • High-Performance
    • Lock-free and wait-free read access
    • Fast write access after first copy-on-write
    • Change migration from thread A to B uses simple pointer swaps
  • DAG structure
    • Access, context mapping and data distribution handles full graphs
    • Selective distribution shall be possible (partial data range, partial features)
  • Distributable
    • See codash
    • Data update from node A to B shall only send change delta
    • Data discovery shall be transparent



Open an issue if you need help, have a question, want to provide feedback or need advice. We'll try to resolve them in a timely manner.

Building from source

git clone
cd dash
mkdir build
cd build
cmake ..