Coherent active state dynamics in self-organizing systems
- CMake 3.15+
- SDL2
- Intel TBB
- HDF5
- Hugo (extended edition, for building documentation)
On macOS, GCC 15 is required for C++23 features (default clang lacks some):
brew install gcc@15 sdl2 tbb hdf5Use the following git command to update the submodules after an initial clone
git submodule update --init --recursive# macOS (requires GCC 15)
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=$(brew --prefix gcc)/bin/gcc-15 \
-DCMAKE_CXX_COMPILER=$(brew --prefix gcc)/bin/g++-15 \
# Linux
cmake -B build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build -j# From the build directory:
cd build
./coast ../configs/mnist.json
./coast ../configs/dsprites.jsonCOAST supports JSON configuration files for experiment reproducibility.
See configs/mnist.json for a complete example. Key sections:
Download datasets into data/:
mkdir -p data/mnist && cd data/mnist
curl -O https://storage.googleapis.com/cvdf-datasets/mnist/train-images-idx3-ubyte.gz
curl -O https://storage.googleapis.com/cvdf-datasets/mnist/train-labels-idx1-ubyte.gz
gunzip *.gzmkdir -p data/dsprites && cd data/dsprites
curl -LO https://github.com/google-deepmind/dsprites-dataset/raw/master/dsprites_ndarray_co1sh3sc6or40x32y32_64x64.hdf5cd docs
hugo
hugo server