Go to file
Sven 2df5932846
Update README.md (#186)
2021-10-12 13:42:04 +08:00
.github/workflows Refactor CMake build system (#184) 2021-10-12 10:44:49 +08:00
cmake Fix tarball location for 1.1.34 release 2021-10-08 16:01:29 +08:00
docs Update Operators.md 2021-10-09 10:55:12 +08:00
include/tim Add headers for nbg_parser 2021-10-08 13:38:15 +08:00
prebuilt-sdk Update prebuilt SDK x86_64 to 6.4.8 2021-10-08 11:57:41 +08:00
samples Refactor CMake build system (#184) 2021-10-12 10:44:49 +08:00
src/tim Refactor CMake build system (#184) 2021-10-12 10:44:49 +08:00
toolchains support build for tensorflow A311D 2021-02-07 10:33:04 +08:00
.bazelrc Add prebuild support for VIPLite 2021-05-14 18:31:08 +08:00
.bazelversion Support build for A311D 2021-01-29 00:11:41 -08:00
.clang-format Add shuffle_channel support & test for tim::vx 2021-09-07 22:44:57 +08:00
.gitignore Add unidirectional sequence lstm support 2021-08-09 13:43:33 +08:00
Android.mk Minor cleanup 2021-05-06 19:48:36 +08:00
BUILD Add sample to run NBG 2021-09-27 17:21:04 +08:00
CMakeLists.txt Refactor CMake build system (#184) 2021-10-12 10:44:49 +08:00
LICENSE Initial Commit for VERSION 1.1.28 2021-01-11 18:27:48 +08:00
README.md Update README.md (#186) 2021-10-12 13:42:04 +08:00
VERSION Release 1.1.34 2021-10-08 12:36:02 +08:00
WORKSPACE Release 1.1.34 2021-10-08 12:36:02 +08:00

README.md

TIM-VX - Tensor Interface Module

VSim.X86.UnitTest

TIM-VX is a software integration module provided by VeriSilicon to facilitate deployment of Neural-Networks on Verisilicon ML accelerators. It serves as the backend binding for runtime frameworks such as Android NN, Tensorflow-Lite, MLIR, TVM and more.

Main Features

  • Over 150 operators with rich format support for both quantized and floating point
  • Simplified C++ binding API calls to create Tensors and Operations Guide
  • Dynamic graph construction with support for shape inference and layout inference
  • Built-in custom layer extensions
  • A set of utility functions for debugging

Framework Support

Feel free to raise a github issue if you wish to add TIM-VX for other frameworks.

Get started

Build and Run

TIM-VX supports both bazel and cmake.

Bazel

Install bazel to get started.

TIM-VX needs to be compiled and linked against VeriSilicon OpenVX SDK which provides related header files and pre-compiled libraries. A default linux-x86_64 SDK is provided which contains the simulation environment on PC. Platform specific SDKs can be obtained from respective SoC vendors.

To build TIM-VX:

bazel build libtim-vx.so

To run sample LeNet:

# set VIVANTE_SDK_DIR for runtime compilation environment
export VIVANTE_SDK_DIR=`pwd`/prebuilt-sdk/x86_64_linux

bazel build //samples/lenet:lenet_asymu8_cc
bazel run //samples/lenet:lenet_asymu8_cc

Cmake

To build TIM-VX:

mkdir host_build
cd host_build
cmake ..
make -j8

Cmake option:

CONFIG: Set Target Platform. Such as: A311D, S905D3, vim3_android, YOCTO. Default is X86_64_linux.

TIM_VX_ENABLE_TEST: Build the unit test. Default is OFF.

TIM_VX_USE_EXTERNAL_OVXLIB: Use external OVXLIB. Default is OFF.

EXTERNAL_VIV_SDK: use external VX driver libs. By default is OFF.

run unit test:

cd host_build/src/tim
export LD_LIBRARY_PATH=`pwd`/../../../prebuilt-sdk/x86_64_linux/lib:$LD_LIBRARY_PATH
./unit_test

Other

To build and run Tensorflow-Lite with TIM-VX, please see README

To build and run TVM with TIM-VX, please see TVM README

Support

create issue on github or email to ML_Support@verisilicon.com