diff --git a/README.md b/README.md index d7bf11e..44d086e 100644 --- a/README.md +++ b/README.md @@ -22,34 +22,16 @@ Main Features Feel free to raise a github issue if you wish to add TIM-VX for other frameworks. +## Architecture Overview + +![TIM-VX Architecture](docs/image/timvx_overview.svg) + # Get started ## Build and Run TIM-VX supports both [bazel](https://bazel.build) and cmake. -### Bazel - -[Install bazel](https://docs.bazel.build/versions/master/install.html) 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: - -```shell -bazel build libtim-vx.so -``` - -To run sample LeNet: - -```shell -# 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: @@ -82,6 +64,28 @@ export LD_LIBRARY_PATH=`pwd`/../../../prebuilt-sdk/x86_64_linux/lib:$LD_LIBRARY_ ./unit_test ``` +### Bazel + +[Install bazel](https://docs.bazel.build/versions/master/install.html) 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: + +```shell +bazel build libtim-vx.so +``` + +To run sample LeNet: + +```shell +# 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 +``` + ## Other To build and run Tensorflow-Lite with TIM-VX, please see [README](https://github.com/VeriSilicon/tflite-vx-delegate#readme) diff --git a/docs/image/timvx_overview.drawio b/docs/image/timvx_overview.drawio new file mode 100644 index 0000000..195072a --- /dev/null +++ b/docs/image/timvx_overview.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/image/timvx_overview.svg b/docs/image/timvx_overview.svg new file mode 100644 index 0000000..ebeab37 --- /dev/null +++ b/docs/image/timvx_overview.svg @@ -0,0 +1,4 @@ + + + +
Unified SDK
VeriSilicon GPU and NPU










Unified SDK...
Computer Kernels


Computer Kernels...
TIM-VX
(Verisilicon Tensor Interface Module)







TIM-VX...
TIM-VX API
TIM-VX API
Graph
Transformation
Graph...
OpenVX Versilicon Extensions
OpenVX Versilicon Ex...
HAL
HAL
OpenVX API
OpenVX API
Compiler
Compiler
Amlogic
A311D
Amlogic...
NXP
iMX8mPlus
NXP...
Simulator
(x86 only)
Simulator...
external
delegate
external...
BYOC
BYOC
compute
device
compute...
Tensorflow Lite
Tensorflow...
TVM
TVM
Tengine
Tengine
Acuity
Toolkits
Acuity...
Other Platforms
Other Platf...
VIP-Lite SDK
VeriSilicon NPU Only









VIP-Lite SDK...
HAL
HAL
Runtime
Runtime
GPU
GPU
NPU
NPU
Runtime
Runtime
LiteExecutor
LiteExecutor
Network Binary Graph
Network Binary Graph
XLA-NPU-JIT
XLA-NPU-JIT
TensorFlow
TensorFlow
HAL-driver
HAL-driver
Android-NNAPI
Android-NNAPI
ExecutionProvider
ExecutionProvider
OLAD
OLAD
CodeGen
CodeGen
Planned
Planned
OnnxRuntime
OnnxRuntime
CodeGen
CodeGen
Amlogic
S905D
Amlogic...
VIP-Lite API
VIP-Lite API
VeriSilicon Unified OpenVX SDK
is a graph processing engine for
both Computer Vision and Machine
Learning tasks. It includes a Just-In-Time
compiler and cross-platform runtime
for Verisilicon NPU and GPU.

VeriSilicon Unified OpenV...
VeriSilicon VIP-Lite SDK offers a lightweight
alternative which consumes a pre-compiled 
Network Binary Graph for inferencing. It is
designed to run on Linux, RTOS and even
baremetal.

VeriSilicon VIP-Lite SDK off...
Viewer does not support full SVG 1.1
\ No newline at end of file