A flexible data structure for low-rank, sparse tensors supporting slices by any dimension and einstein summation (einsum).
For details on the data structure refer to https://tentris.dice-research.org/
install conan, cmake and a C++20 compiler. The steps below are tested for gcc 10, clang 10 and clang 11.
Add dice-hash remote to conan
conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris
and create a conan profile
conan profile new --detect default
conan profile update settings.compiler.libcxx=libstdc++11 default
mkdir build
cd build
conan install .. --build=missing
cmake ..
To enable test, set hypertrie_BUILD_TESTS
in cmake:
cmake -Dhypertrie_BUILD_TESTS=ON ..
make -j tests
tests/tests
Some tests are using pytorch which is not provided with the code.
Those tests are disabled by default.
To enable them, provide the path to the pytorch library via cmake variable hypertrie_LIBTORCH_PATH
.
Prebuild binaries may be download via https://pytorch.org/get-started/locally/ (works at least with Stable|Linux|LibTorch|C++|None).
cmake -Dhypertrie_BUILD_TESTS=ON -Dhypertrie_LIBTORCH_PATH=/path/to/libtorch ..