sdfglib is a C++ library for generating stateful dataflow multigraphs (SDFG).
sudo apt-get install -y libgmp-dev libzstd-dev
sudo apt-get install -y nlohmann-json3-dev
sudo apt-get install -y libboost-graph-dev libboost-graph1.74.0
sudo apt-get install -y libisl-dev
mkdir build
cd build
cmake -DBUILD_TESTS:BOOL=OFF -DBUILD_BENCHMARKS:BOOL=OFF -DBUILD_BENCHMARKS_GOOGLE:BOOL=OFF -DHWY_ENABLE_TESTS=OFF ..
cmake --build .
sdfglib uses Doxygen for API documentation. The type system is fully documented with Doxygen comments.
Install Doxygen:
sudo apt-get install -y doxygen graphvizGenerate the documentation:
doxygen DoxyfileView the documentation by opening docs/html/index.html in a web browser.
For more details, see DOCUMENTATION.md.
sdfglib is implemented based on the specification of the original paper and its reference implementation. The license of the reference implementation is included in the licenses/ folder.
If you use the sdfglib, cite the paper:
@inproceedings{dace,
author = {Ben-Nun, Tal and de~Fine~Licht, Johannes and Ziogas, Alexandros Nikolaos and Schneider, Timo and Hoefler, Torsten},
title = {Stateful Dataflow Multigraphs: A Data-Centric Model for Performance Portability on Heterogeneous Architectures},
year = {2019},
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
series = {SC '19}
}sdfglib is published under the new BSD license, see LICENSE.