Go to file
Kainan Cha dc9931e126
Merge pull request #9 from zhengzhouheng/main
support build for tensorflow A311D
2021-02-07 10:45:44 +08:00
cmake Add Cmake build for tim-vx 2021-02-02 10:04:47 +08:00
include/tim/vx Support multiply attribute for tensor spec 2021-02-01 14:10:03 +08:00
prebuilt-sdk Support build for A311D 2021-01-29 00:11:41 -08:00
samples/lenet Add Cmake build for tim-vx 2021-02-02 10:04:47 +08:00
src/tim/vx Add Cmake build for tim-vx 2021-02-02 10:04:47 +08:00
toolchains support build for tensorflow A311D 2021-02-07 10:33:04 +08:00
.bazelrc support build for tensorflow A311D 2021-02-07 10:33:04 +08:00
.bazelversion Support build for A311D 2021-01-29 00:11:41 -08:00
.clang-format Add .clang-format 2021-01-19 09:54:50 +08:00
BUILD.bazel Initial Commit for VERSION 1.1.28 2021-01-11 18:27:48 +08:00
CMakeLists.txt Add Cmake build for tim-vx 2021-02-02 10:04:47 +08:00
LICENSE Initial Commit for VERSION 1.1.28 2021-01-11 18:27:48 +08:00
README.md Update build instruction in README 2021-01-26 06:53:39 -08:00
VERSION Initial Commit for VERSION 1.1.28 2021-01-11 18:27:48 +08:00
WORKSPACE Support build for A311D 2021-01-29 00:11:41 -08:00

README.md

TIM-VX - Tensor Interface Module for OpenVX

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

Main Features

  • Over 130 internal operators with rich format support for both quantized and floating point
  • Simplified binding API calls to create Tensors and Operations
  • Dynamic graph construction and supports shape inferencing
  • Built-in custom layer extensions
  • A set of utility functions for debugging

Roadmap

Roadmap of TIM-VX will be updated here in the future.

Get started

Build and Run

TIM-VX uses bazel build system by default. Install bazel first 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

Get familiar with OpenVX spec

To development for TIM-VX, you first need to get familiar with OpenVX API and OpenVX NN Extension API. Please head over to Khronos to read the spec.