TIM-VX编译体验

TIM-VX是VIP开发维护的开源项目,作用是作为后段将开源框架和VIP的ML加速器进行整合绑定,对VIP 提高其NPU的应用领域,扩大应用生态具有巨大作用,其官方介绍如下:

TIM-VX编译体验_第1张图片

下载代码:

github仓库地址:GitHub - VeriSilicon/TIM-VX: Verisilicon Tensor Interface Module

实际代码量并不多,包含仓库在内共有87M。

编译

TIM-VX支持BAZEL和CMAKE两种构建系统,先用CMAKE尝试编译一下,编译顺序命令如下:

mkdir host_build
cd host_build
cmake ..
make -j8
make install

首先遇到了编译错误,是CMAKE版本太低导致

升级CMAKE

cmake的下载在这里​​​​​​https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0.tar.gz

首先卸载系统自带CMAKE

sudo apt purge cmake

cmake编译遵照标准的Linux下源码包编译的三部曲

TIM-VX编译体验_第2张图片

编译TIM-VX

配置成功:

TIM-VX编译体验_第3张图片

编译:

TIM-VX编译体验_第4张图片

安装:

sudo make install

TIM-VX编译体验_第5张图片

TIM-VX编译体验_第6张图片

安装目录包含两种文件,分别是库和头文件

TIM-VX编译体验_第7张图片

TIM-VX要基于UNIFY SDK运行,但是X86主机环境下没有NPU,所以为了支撑TIM-VX在系统层面的运行,TIM-VX提供了pre-build的RUNTIME库仿真器件。

TIM-VX编译体验_第8张图片

编译测试用例:

配置后编译:

cmake -DTIM_VX_ENABLE_TEST=ON ../

TIM-VX编译体验_第9张图片

导出环境变量

export LD_LIBRARY_PATH=$PWD/../../../prebuilt-sdk/x86_64_linux/lib:/home/caozilong/Workspace/TIM-VX/host_build/lib:$LD_LIBRARY_PATH
export VIVANTE_SDK_DIR=`pwd`/../../../prebuilt-sdk/x86_64_linux/lib
export VSIMULATOR_CONFIG=czl
export DISABLE_IDE_DEBUG=1

之后运行./unit_test,出现段错误:

TIM-VX编译体验_第10张图片

cl_viv_vx_ext.h是一个在线编译头文件,它的位置在

需要将其拷贝到VIVANTE_SDK_DIR指定的目标地址:

mkdir prebuilt-sdk/x86_64_linux/lib/include
cp prebuilt-sdk/x86_64_linux/include/CL prebuilt-sdk/x86_64_linux/lib/include -fr

TIM-VX编译体验_第11张图片

再次执行unit_test不再有段错误

TIM-VX编译体验_第12张图片

编译用例

cmake -DTIM_VX_ENABLE_TEST=ON -DTIM_VX_BUILD_EXAMPLES=ON ../

 编译后生成EXAMPLE目录

TIM-VX编译体验_第13张图片

 执行LENET用例,打印TOP5输出。


结束

你可能感兴趣的:(人工智能,数学,算法,算法,深度学习,图像算法)