Skip to content

daisytuner/sdfglib

Repository files navigation

Coverage Status

sdfglib is a C++ library for generating stateful dataflow multigraphs (SDFG).

Usage

Dependencies

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

Build

mkdir build
cd build
cmake -DBUILD_TESTS:BOOL=OFF -DBUILD_BENCHMARKS:BOOL=OFF -DBUILD_BENCHMARKS_GOOGLE:BOOL=OFF -DHWY_ENABLE_TESTS=OFF ..
cmake --build .

Documentation

sdfglib uses Doxygen for API documentation. The type system is fully documented with Doxygen comments.

Generate Documentation

Install Doxygen:

sudo apt-get install -y doxygen graphviz

Generate the documentation:

doxygen Doxyfile

View the documentation by opening docs/html/index.html in a web browser.

For more details, see DOCUMENTATION.md.

Attribution

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}
}

License

sdfglib is published under the new BSD license, see LICENSE.

About

Stateful Dataflow Multigraphs (SDFG) in C++

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 6

Languages