NPU
Android
Linux
环境准备
算子支持
中级
高级
在基本的环境准备之外,使用NPU需要集成HUAWEI HiAI DDK。
DDK包含了使用NPU的对外接口(包括模型构建、加载,计算等),以及封装成动态库的接口实现(名为libhiai*.so)。
下载DDK 100.510.010.010版本,
并将压缩包解压后的目录设置为环境变量${HWHIAI_DDK}
。构建脚本将使用这个环境变量寻找DDK。
在Linux环境下,使用MindSpore源代码根目录下的build.sh脚本可以构建集成NPU的MindSpore Lite包,命令如下, 它将在MindSpore源代码根目录下的output目录下构建出MindSpore Lite的包,其中包含NPU的动态库,libmindspore-lite动态库以及测试工具Benchmark。
export MSLITE_ENABLE_NPU=ON
bash build.sh -I arm64 -j8
有关编译详情见Linux环境编译。
集成说明
开发者需要集成使用NPU功能时,需要注意:
-I arm64
或-I arm32
时的内容,
配置好环境变量,将会动态加载libhiai.so, libhiai_ir.so, libhiai_ir_build.so, libhiai_hcl_model_runtime.so。例如:export LD_LIBRARY_PATH=mindspore-lite-{version}-android-{arch}/runtime/third_party/hiai_ddk/lib/:$LD_LIBRARY_PATH
Benchmark测试NPU推理
用户也可以使用MindSpore Lite的Benchmark工具测试NPU推理。将构建包传到具有NPU芯片的Android手机的/data/local/tmp/
目录下,在手机上使用Benchmark工具测试NPU推理,示例如下:
./benchmark --device=NPU --modelFile=./models/test_benchmark.ms --timeProfiling=true
./benchmark --device=NPU --modelFile=./models/test_benchmark.ms --inDataFile=./input/test_benchmark.bin --inputShapes=1,32,32,1 --accuracyThreshold=3 --benchmarkDataFile=./output/test_benchmark.out
有关Benchmark使用详情,见Benchmark使用。
有关环境变量设置,将libmindspore-lite.so(目录为mindspore-lite-{version}-android-{arch}/runtime/lib
)和
NPU库(目录为mindspore-lite-{version}-android-{arch}/runtime/third_party/hiai_ddk/lib/
)所在的目录加入${LD_LIBRARY_PATH}
。
NPU芯片支持见芯片与HUAWEI HiAI Version版本映射关系。
NPU算子支持见Lite 算子支持。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。