Skip to content

esa-tu-darmstadt/spn-ipu

Repository files navigation

Building

  1. The easiest way is to use the provided Docker container, either directly or via the VSCode DevContainer extension (see .devcontainer). Alternatively: Install a modern C++ compiler (eg clang-19) and install and setup conda. Feel free to look at the .devcontainer/conan-profiles for the conan profiles, but the only necessary one is setting the cpp standard to c++20. Install poplar.
  2. Create packages for the dependencies that are not available via conan yet:
  conan create libspnipu/libs/graphene/conan/fast_matrix_market
  conan create libspnipu/libs/graphene/libgraphene/libs/twofloat
  1. Install the dependencies via conan:
# Use release dependencies for the debug build
conan install . --build=missing -s build_type=RelWithDebInfo -s "&:build_type=Debug"
conan install . --build=missing -s build_type=RelWithDebInfo
conan install . --build=missing -s build_type=Release

You can also statically link the dependencies if you like:

```bash
# Use release dependencies for the debug build
conan install . --build=missing -s build_type=RelWithDebInfo -s "&:build_type=Debug" -o "*:shared=False"
conan install . --build=missing -s build_type=RelWithDebInfo -o "*:shared=False"
conan install . --build=missing -s build_type=Release -o "*:shared=False"
  1. Build the project using cmake with the CMakeUsersPresets.json generated by conan

About

Compiling Sum-Product Networks for Graphcore Intelligence Processing Units

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published