Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Hedgehog is a header-only API that is designed to aid in creating dataflow graphs for algorithms to obtain performance across CPUs and multiple co-processors. This library represents the successor of the Hybrid Task Graph Scheduler (HTGS).
1) C++20 compiler (tested with gcc 11.1+, clang 10, and MSVC 14.33)
2) pthread
3) CUDA (https://developer.nvidia.com/cuda-zone) [optional]
4) GTEST (https://github.com/google/googletest) [optional / test]
5) For the static analysis (hh_cx) a compiler with the constexpr std::vector (P1004R2) and constexpr std::string (P0980R1) is needed, tested with gcc 12.1.0 +
CMake Options:
CMAKE_INSTALL_PREFIX - Where to install Hedgehog (and documentation)
TEST_HEDGEHOG - Compiles and runs google unit tests for Hedgehog ('make run-test' to re-run)
ENABLE_CHECK_CUDA - Enable extra checks for CUDA library if found
ENABLE_NVTX - Enable NVTX if CUDA is found
BUILD_MAIN - Build main file
Alexandre Bardakoff
Timothy Blattner
Walid Keyrouz
Bruno Bachelet
Loïc Yon
Mary Brady
We would like to thank Prof. Joel Falcou (https://www.lri.fr/~falcou/ / https://github.com/jfalcou) and Jules Penuchot (https://github.com/JPenuchot) for their advice!