TenniS: Tensor based Edge Neural Network Inference System
The default installation DIR is ${PROJECT_BINARY_DIR}/../build,
add -DCMAKE_INSTALL_PREFIX to change installation DIR.
- Do
cmakeorCPU:
cmake ..
-DTS_USE_OPENMP=ON
-DTS_USE_SIMD=ON
-DTS_ON_HASWELL=ON
-DTS_BUILD_TEST=OFF
-DTS_BUILD_TOOLS=OFF
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr/local
or GPU:
cmake ..
-DTS_USE_CUDA=ON
-DTS_USE_CUBLAS=ON
-DTS_USE_OPENMP=ON
-DTS_USE_SIMD=ON
-DTS_ON_HASWELL=ON
-DTS_BUILD_TEST=OFF
-DTS_BUILD_TOOLS=OFF
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr/local
Option
TS_ON_HASWELLmeans supportAVX2andFMA.
OptionTS_ON_SANDYBRIDGEmeans only supportAVX2but noFMA.
OptionTS_ON_PENTIUMmeans only supportSSE2.
If want compile all instructions support, switch TS_DYNAMIC_INSTRUCTION ON.
Notice: TS_DYNAMIC_INSTRUCTION ONLY work in release version.
When compilation target has no instruction-set like AVX or FMA,
MUST turn corresponding option off.
When compilation target is arm-*, PLEASE set -DTS_ON_ARM=ON.
When compilation target is arm-v7, MUST set -DTS_ON_ARMV7=ON.
-
Do
make -j16and waiting. -
Do
make install. -
Find headers and libraries in
CMAKE_INSTALL_PREFIX
Read CI file for more tips.
For multi platform CI usage. You need configure project CI setting and install gitlab-runner with following tags.
amd64,docker,linuxfor linux and cross compile envriment, including ARM and MinGW.amd64,darwin,shellfor darwin and IOS compilation. Install Xcode, cmake, git and libomp in advance.amd64,cuda,shell,vs2019,windowsfor windows apllication. Install VS, cuda, pwsh, cmake and git in advance.
