Paddle-Lite 昆仑芯 XTCL 部署指南:通过 NNAdapter 子图接入在 R200/K100/K200 上加速 Paddle 模型推理
2026/9/16 18:58:43 网站建设 项目流程

Paddle-Lite 昆仑芯 XTCL 部署指南:通过 NNAdapter 子图接入在 R200/K100/K200 上加速 Paddle 模型推理

【免费下载链接】Paddle-LitePaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)项目地址: https://gitcode.com/GitHub_Trending/pa/Paddle-Lite

本篇基于 昆仑芯 XTCL 部署文档,完整梳理 Paddle-Lite 如何以 NNAdapter 子图方式接入昆仑芯(Kunlunxin)系列 AI 芯片:涵盖支持现状(芯片/加速卡/模型/算子/性能)、基于 PaddleLite-generic-demo 的端到端运行步骤、从源码重新编译带 kunlunxin_xtcl 支持的部署库、以及多卡与卡型选择等高级参数,并结合仓库内 kunlunxin_xtcl 驱动源码 解析参数解析与模型在线组网的底层实现。

一、接入原理:Paddle 算子 → NNAdapter 标准算子 → XTCL 组网

Paddle-Lite 已支持昆仑芯系列芯片及板卡,可在 X86 和 ARM 服务器上部署预测服务。接入方式为子图接入,其原理是:

  1. 在线分析 Paddle 模型(fluid / protobuf 组网文件);
  2. 将 Paddle 算子先转为统一的NNAdapter 标准算子(如CONV_2DFULLY_CONNECTEDSOFTMAX等);
  3. 再由各硬件的 Converter 将标准算子映射为目标硬件 API。对昆仑芯而言,就是通过XTCL 组网 API 进行网络构建,在线生成并执行模型。

其中XPU Tensor Compilation Library(XTCL)是昆仑芯针对机器学习场景提供的图编译引擎库,提供基于昆仑芯硬件的图层分析框架与加速优化能力。

从源码结构看,整个接入链路在仓库中的落点如下:

  • kunlunxin_xtcl 驱动目录:包含driver.cc(NNAdapter device HAL 入口)、engine.cc(模型构建与执行)、converter/(NNAdapter 标准算子到 XTCL 的转换实现);
  • driver.cc 中通过NNADAPTER_EXPORT导出vendor = "Kunlunxin"type = NNADAPTER_ACCELERATOR的设备描述符,实现OpenDevice / CreateContext / CreateProgram / ExecuteProgram等 HAL 接口;
  • converter/all.h 用REGISTER_CONVERTER宏登记了该驱动支持的 NNAdapter 标准算子全集(CONV_2DCONV_2D_TRANSPOSEDEFORMABLE_CONV_2DFULLY_CONNECTEDMAT_MULSOFTMAXRESIZE_LINEARROI_ALIGNTOP_K等,其中CHANNEL_SHUFFLEQUANTIZEDEQUANTIZE标注为 not support),可据此判断一个模型能否完全下推到昆仑芯执行。

执行流程解析

engine.cc 的Program::Build()揭示了“在线组网”的具体过程:

  • 有编译缓存时:直接从缓存 buffer 加载已编译的 XTCL runtime 实例(LoadInstanceRuntimeFromBuffer),跳过重新编译;
  • 无缓存时:先做一系列图优化(FuseConv2DBatchNormIntoConv2DFuseConv2DAddIntoConv2DFuseConv2DActivationIntoConv2DFuseMatMulAddIntoFullyConnectedFuseReshapeTransposeReshapeIntoChannelShuffle),再由Converter将 NNAdapter 模型转为 XTCL 网络表达式,最终BuildInstanceRuntimeToBuffer()编译为 runtime 实例并可序列化进缓存,供下次免编译加载。

Program::Execute()则校验输入 shape 一致性,把输入写入DLTensor后调用runtime_->Run()执行,再将输出拷贝回 host 内存。也就是说,首次推理会触发一次在线编译,命中缓存后直接执行,这与文档中“在线生成并执行模型”的描述完全对应。

二、支持现状

已支持的芯片与加速卡

类别型号
昆仑芯 1 代 AI 芯片CK10 / CK20
昆仑芯 2 代 AI 芯片CR20
昆仑芯 AI 加速卡(1 代)K100 / K200
昆仑芯 AI 加速卡(2 代)R200

已验证支持的 Paddle 模型

原文档按任务类型列出了在昆仑芯上验证通过的模型,覆盖面包括:

  • 图像分类:AlexNet、DarkNet53、DenseNet121、DPN68、EfficientNetB0、GhostNet、GoogLeNet、HRNet-W18、Inception-v3、Inception-v4、MobileNet-v1、MobileNet-v2、MobileNetV3_large、MobileNetV3_small、PP-LCNet、Res2Net50、ResNet-18/50/101、ResNeXt50、SE_ResNet50、SqueezeNet-v1、VGG16、VGG19;
  • 目标检测:PP-YOLO_mbv3、PPYOLO_tiny、SSD-MobileNetV1(1.8)、SSDLite-MobileNetV3_large、SSDLite-MobileNetV3_small、YOLOv3-DarkNet53、YOLOv3-MobileNetV1、YOLOv3-MobileNetV3、YOLOv4;
  • 人脸检测:FaceBoxes;
  • 文本检测/识别/端到端:ch_ppocr_server_v2.0_det、ch_ppocr_server_v2.0_rec、ch_PP-OCRv2_det、ch_PP-OCRv2_rec、CRNN-mv3-CTC;
  • 推荐系统:NCF;
  • 图像分割:PP-HumanSeg-Lite、PP-HumanSeg-Server(DeepLabV3+);
  • 视频分类:PP-TSN。

更多模型可查阅 开源模型支持列表。

注意:以上全部模型目前只在 R200 上测试验证通过,部分模型支持 K100 / K200。

性能参考

性能数据来自官方文档实测,仅供参考,以实际运行效果为准。下表为 Intel CPU(x86 纯 CPU 推理)与 x86 + R200(CPU + XTCL 加速)的单次预测耗时对比(ms):

模型Intel CPU (ms)x86 + R200 (ms)
AlexNet37.7774000.689400
DenseNet12176.7675994.015600
EfficientNetB096.1744001.564200
GoogLeNet46.0628001.464400
Inception-v377.4644002.183400
Inception-v4151.7213993.128800
MobileNet-v123.4424000.500800
MobileNet-v219.8892001.411200
ResNet-1847.6911990.429400
ResNet-50108.1129990.815200
ResNet-101200.1349981.392200
ResNeXt50110.6847991.648600
SqueezeNet-v133.1408000.902400
VGG16491.2379941.542200
VGG19613.2873961.675200
DPN6888.0270002.805000
DarkNet5311197.1105471.139400
GhostNet19.5384005.726200
Res2Net50371.8240052.664400
SE_ResNet50140.2311981.521600
ch_PP-OCRv2_det111.9110033.690000
ch_PP-OCRv2_rec40.9889985.419000
ch_ppocr_server_v2.0_det987.7299806.303000
ch_ppocr_server_v2.0_rec370.88101216.434999
CRNN-mv3-CTC13.0410004.146000
FaceBoxes336.13800043.075001
NCF0.0100000.147000
PP-TSN29140.35546990.681000
SSD-MobileNetV1(1.8)33.7583002.078400
YOLOv3-DarkNet531828.80705818.015895
YOLOv3-MobileNetV1541.6698999.348368
YOLOv46887.93397925.008631

可以看到对于 VGG、DarkNet53、YOLO 系列等重计算模型,R200 相对纯 CPU 的加速收益非常显著(如 YOLOv4 从约 6.9s 降至约 25ms)。

已支持(或部分支持)的 Paddle 算子

各算子在不同新硬件上的最新支持信息,可以查阅仓库中的 NNAdapter 标准算子头文件 lite/backends/nnadapter/nnadapter/src/operation/all.h,以及昆仑芯驱动自身登记的算子列表 converter/all.h:模型中出现未登记的算子时,NNAdapter 会将其划入 CPU 子图回退执行(子图接入方式的特性),或按算子支持度决定可否整图下推。

三、参考示例演示(测试设备:昆仑芯 R200)

3.1 准备设备环境

  • 昆仑芯 AI 加速卡R200(产品手册见官方文档);
  • R200 为全高全长 PCI-E 卡,要求使用PCIe4.0 x16 插槽,且需要单独的8 针供电线供电;
  • 安装 R200XRE 驱动。目前支持 Ubuntu 和 CentOS 系统;由于驱动依赖 Linux kernel 版本,请正确安装对应版本的驱动安装包。

3.2 准备本地编译环境

为保证编译环境一致,建议根据机器实际情况参考 Linux x86 环境下编译适用于 Linux x86 的库 或 ARM Linux 环境下编译适用于 ARM Linux 的库 中的“准备编译环境”章节进行配置。

3.3 下载并解包示例程序

下载 PaddleLite-generic-demo 并解压(模型文件在原文档中以官方对象存储链接提供,可按需获取),清单结构如下:

- PaddleLite-generic-demo - image_classification_demo - assets - configs - imagenet_224.txt # config 文件 - synset_words.txt # 1000 分类 label 文件 - datasets - test # dataset - inputs - tabby_cat.jpg # 输入图片 - outputs - tabby_cat.jpg # 输出图片 - list.txt # 图片清单 - models - resnet50_fp32_224 # Paddle non-combined 格式的 resnet50 float32 模型 - __model__ # Paddle fluid 模型组网文件,可用 Netron 可视化网络结构 - bn2a_branch1_mean # Paddle fluid 模型参数文件 - bn2a_branch1_scale ... - shell - CMakeLists.txt # 示例程序 CMake 脚本 - build.linux.amd64 # 已编译好的,适用于 amd64 - demo # 已编译好的,适用于 amd64 的示例程序 - build.linux.arm64 # 已编译好的,适用于 arm64 - demo # 已编译好的,适用于 arm64 的示例程序 - demo.cc # 示例程序源码 - build.sh # 示例程序编译脚本 - run.sh # 示例程序本地运行脚本 - run_with_ssh.sh # 示例程序 ssh 运行脚本 - run_with_adb.sh # 示例程序 adb 运行脚本 - libs - PaddleLite - android - arm64-v8a - armeabi-v7a - linux - amd64 - include # Paddle Lite 头文件 - lib # Paddle Lite 库文件 - cpu - libiomp5.so # Intel OpenMP 库 - libmklml_intel.so # Intel MKL 库 - libmklml_gnu.so # GNU MKL 库 - kunlunxin_xtcl # 昆仑芯 XTCL 库、NNAdapter 运行时库、device HAL 库 - libnnadapter.so # NNAdapter 运行时库 - libkunlunxin_xtcl.so # NNAdapter device HAL 库 - libxtcl.so # 昆仑芯 XTCL 库 ... - libpaddle_full_api_shared.so # 预编译 Paddle Lite full api 库 - libpaddle_light_api_shared.so # 预编译 Paddle Lite light api 库 - arm64 - include - lib - armhf ... - OpenCV # OpenCV 预编译库 - object_detection_demo # 目标检测示例程序

注意lib/下与昆仑芯相关的三个核心库:

  • libnnadapter.so:NNAdapter 运行时库,负责模型在线分析、标准算子转换调度与子图划分;
  • libkunlunxin_xtcl.so:NNAdapter 的 kunlunxin_xtcldevice HAL 库,对应仓库中 driver 源码 编译出的目标,导出设备描述符并桥接 XTCL API;
  • libxtcl.so:昆仑芯 XTCL 图编译库本体,来自 XTCL SDK(SDK 依赖的libxpuapi.solibxpurt.solibxpujitc.solibtvm.so等在 dependencies.cmake 中逐一声明)。

3.4 运行图像分类示例:CPU 与 CPU+R200 对比

进入PaddleLite-generic-demo/image_classification_demo/shell/目录后,执行run.sh比较 mobilenet_v1_fp32_224 模型在不同执行路径下的性能与结果。run.sh的第 4 个参数指定目标架构,第 5 个参数可选kunlunxin_xtcl以启用加速卡:

# 运行 mobilenet_v1_fp32_224 模型 # For amd64 (intel x86 cpu only) $ ./run.sh mobilenet_v1_fp32_224 imagenet_224.txt test linux amd64 Top1 Egyptian cat - 0.482870 Top2 tabby, tabby cat - 0.471594 Top3 tiger cat - 0.039779 Top4 lynx, catamount - 0.002430 Top5 ping-pong ball - 0.000508 Preprocess time: 3.133000 ms, avg 3.133000 ms, max 3.133000 ms, min 3.133000 ms Prediction time: 12.594000 ms, avg 12.594000 ms, max 12.594000 ms, min 12.594000 ms Postprocess time: 4.235000 ms, avg 4.235000 ms, max 4.235000 ms, min 4.235000 ms # (intel x86 cpu + kunlunxin xtcl) $ ./run.sh mobilenet_v1_fp32_224 imagenet_224.txt test linux amd64 kunlunxin_xtcl Top1 Egyptian cat - 0.482607 Top2 tabby, tabby cat - 0.471841 Top3 tiger cat - 0.039819 Top4 lynx, catamount - 0.002419 Top5 ping-pong ball - 0.000505 Preprocess time: 2.653000 ms, avg 2.653000 ms, max 2.653000 ms, min 2.653000 ms Prediction time: 0.524000 ms, avg 0.524000 ms, max 0.524000 ms, min 0.524000 ms Postprocess time: 4.077000 ms, avg 4.077000 ms, max 4.077000 ms, min 4.077000 ms # For arm64 (arm cpu only) $ ./run.sh mobilenet_v1_fp32_224 imagenet_224.txt test linux arm64 Top1 Egyptian cat - 0.482871 Top2 tabby, tabby cat - 0.471594 Top3 tiger cat - 0.039779 Top4 lynx, catamount - 0.002430 Top5 ping-pong ball - 0.000508 Preprocess time: 8.123000 ms, avg 8.123000 ms, max 8.123000 ms, min 8.123000 ms Prediction time: 78.482000 ms, avg 78.482000 ms, max 78.482000 ms, min 78.482000 ms Postprocess time: 8.023000 ms, avg 8.023000 ms, max 8.023000 ms, min 8.023000 ms # (arm cpu + kunlunxin xtcl) $ ./run.sh mobilenet_v1_fp32_224 imagenet_224.txt test linux arm64 kunlunxin_xtcl Top1 Egyptian cat - 0.482583 Top2 tabby, tabby cat - 0.471810 Top3 tiger cat - 0.039866 Top4 lynx, catamount - 0.002430 Top5 ping-pong ball - 0.000506 Preprocess time: 8.135000 ms, avg 8.135000 ms, max 8.135000 ms, min 8.135000 ms Prediction time: 3.223000 ms, avg 3.223000 ms, max 3.223000 ms, min 3.223000 ms Postprocess time: 8.605000 ms, avg 8.605000 ms, max 8.605000 ms, min 8.605000 ms

两组结果的 Top5 分类输出与纯 CPU 几乎一致(概率差异在小数点后第 3 位以内),说明 XTCL 路径下精度保持良好;预测耗时方面,amd64 上 MobileNet-v1 从 12.59ms 降到 0.52ms,arm64 上从 78.48ms 降到 3.22ms。

更换测试模型:将run.sh里的MODEL_NAME改成resnet50_fp32_224,或直接在命令行传参:

# (intel x86 cpu + kunlunxin xtcl) $ ./run.sh resnet50_fp32_224 imagenet_224.txt test linux amd64 kunlunxin_xtcl # (arm cpu + kunlunxin xtcl) $ ./run.sh resnet50_fp32_224 imagenet_224.txt test linux arm64 kunlunxin_xtcl

更换测试图片:将图片拷贝到PaddleLite-generic-demo/image_classification_demo/assets/datasets/test/inputs目录,并把文件名追加到同级的list.txt中。

重新编译示例程序

# For amd64 $ ./build.sh linux amd64 # For arm64 $ ./build.sh linux arm64

四、从源码重新编译带 kunlunxin_xtcl 的 Paddle-Lite 部署库

4.1 获取源码

$ git clone https://github.com/PaddlePaddle/Paddle-Lite.git $ cd Paddle-Lite $ git checkout <release-version-tag>

4.2 编译(full_publish 模式)

For amd64

# 默认自动从云上下载 kunlunxin_xtcl_sdk,如需指定,请使用参数 --nnadapter_kunlunxin_xtcl_sdk_root $ ./lite/tools/build_linux.sh --arch=x86 --with_extra=ON --with_log=ON --with_exception=ON --with_nnadapter=ON --nnadapter_with_kunlunxin_xtcl=ON full_publish

For arm64(ARM 环境下需先指定交叉/本地 C/C++ 编译器):

# arm 环境下需要设置环境变量 CC 和 CXX,分别指定 C 编译器和 C++ 编译器的路径 # 默认自动从云上下载 kunlunxin_xtcl_sdk,如需指定,请使用参数 --nnadapter_kunlunxin_xtcl_sdk_root $ export CC=<path_to_your_c_compiler> $ export CXX=<path_to_your_c++_compiler> $ ./lite/tools/build_linux.sh --arch=armv8 --with_extra=ON --with_log=ON --with_exception=ON --with_nnadapter=ON --nnadapter_with_kunlunxin_xtcl=ON full_publish

关键参数说明(对应 build_linux.sh 中的参数解析):

参数作用
--arch=x86/--arch=armv8目标架构
--with_nnadapter=ON编译 NNAdapter 运行时
--nnadapter_with_kunlunxin_xtcl=ON启用昆仑芯 XTCL device HAL(libkunlunxin_xtcl.so
--nnadapter_kunlunxin_xtcl_sdk_root指定本机 XTCL SDK 根目录,缺省时自动按环境下载
full_publish构建完整发布包(含 full api / light api 动态库)

关于 SDK 的自动获取,dependencies.cmake 中可以看到:未指定NNADAPTER_KUNLUNXIN_XTCL_SDK_ROOT时,CMake 会按当前系统自动判定NNADAPTER_KUNLUNXIN_XTCL_SDK_ENV(aarch64 →kylin_aarch64,x86_64/amd64 →bdcentos_x86_64,Ubuntu →ubuntu_x86_64),并依次下载解压xdnn / xre / xtdk / xccl / xtcl五个归档包,把libxpuapi.solibxpurt.solibxpujitc.solibtvm.solibxtcl.so等作为导入库链接进来。同时该文件强制要求 GCC ≥ 5.0(因 XTCL HAL 需要按 C++14 编译),并把编译标准提升为 C++14、移除-Werror。这也解释了为什么 ARM 环境编译需要先export CC/CXX

4.3 替换示例程序的头文件与库

For amd64(产物目录为build.lite.linux.x86.gcc/inference_lite_lib/cxx/):

# 清理原有 include 目录 $ rm -rf PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/include/ # 替换 include 目录 $ cp -rf build.lite.linux.x86.gcc/inference_lite_lib/cxx/include/ PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/include/ # 替换 NNAdapter 运行时库 $ cp build.lite.linux.x86.gcc/inference_lite_lib/cxx/lib/libnnadapter.so PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/lib/kunlunxin_xtcl/ # 替换 NNAdapter device HAL 库 $ cp build.lite.linux.x86.gcc/inference_lite_lib/cxx/lib/libkunlunxin_xtcl.so PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/lib/kunlunxin_xtcl/ # 替换 libpaddle_full_api_shared.so $ cp build.lite.linux.x86.gcc/inference_lite_lib/cxx/lib/libpaddle_full_api_shared.so PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/lib/ # 替换 libpaddle_light_api_shared.so $ cp build.lite.linux.x86.gcc/inference_lite_lib/cxx/lib/libpaddle_light_api_shared.so PaddleLite-generic-demo/libs/PaddleLite/linux/amd64/lib/

For arm64(ARM 编译产物目录为build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/):

# 清理原有 include 目录 $ rm -rf PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/include/ # 替换 include 目录 $ cp -rf build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/include/ PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/include/ # 替换 NNAdapter 运行时库 $ cp build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/lib/libnnadapter.so PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/lib/kunlunxin_xtcl/ # 替换 NNAdapter device HAL 库 $ cp build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/lib/libkunlunxin_xtcl.so PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/lib/kunlunxin_xtcl/ # 替换 libpaddle_full_api_shared.so $ cp build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/lib/libpaddle_full_api_shared.so PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/lib/ # 替换 libpaddle_light_api_shared.so $ cp build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8.nnadapter/cxx/lib/libpaddle_light_api_shared.so PaddleLite-generic-demo/libs/PaddleLite/linux/arm64/lib/

五、高级特性:多卡选择与卡型参数

针对多块昆仑芯 AI 加速卡或不同代际卡型,Paddle-Lite 提供两个高级运行时参数(参数名定义见 utility.h):

  • KUNLUNXIN_XTCL_SELECTED_DEVICE_IDS指定昆仑芯产品的 ID 号。例如KUNLUNXIN_XTCL_SELECTED_DEVICE_IDS=0KUNLUNXIN_XTCL_SELECTED_DEVICE_IDS=0,1,2,3。 从 engine.cc 的 Context 构造函数 可以看到:参数优先从 context properties 解析,取不到时回退读取同名环境变量;值按逗号拆分为 int 列表;当前实现仅支持指定一块设备,若列出多个 ID 只会取第一个并打印 WARNING。未设置时默认使用 0 号设备。

  • KUNLUNXIN_XTCL_DEVICE_TARGET指定昆仑芯不同类型的 AI 加速卡。例如:

    • KUNLUNXIN_XTCL_DEVICE_TARGET=xpu -libs=xdnn -device-type=xpu1
    • KUNLUNXIN_XTCL_DEVICE_TARGET=xpu -libs=xdnn -device-type=xpu2

    其中 XPU 代指昆仑芯自主研发的芯片硬件架构:XPU1 用于昆仑芯 1 代系列产品(K100、K200);XPU2 用于昆仑芯 2 代系列产品(R200 等)。解析出的字符串最终传入BuildInstanceRuntimeToBuffer(),参与 XTCL 编译目标选择(见 engine.cc)。

使用方式

C++ 代码(light api,多参数之间使用;分隔):

// Run inference by using light api with MobileConfig paddle::lite_api::MobileConfig mobile_config; // nnadapter_context_properties, 多个参数之间使用;进行分割 std::string nnadapter_context_properties = "KUNLUNXIN_XTCL_SELECTED_DEVICE_IDS=0;KUNLUNXIN_XTCL_DEVICE_TARGET=xpu -libs=xdnn -device-type=xpu1"; mobile_config.set_nnadapter_context_properties(nnadapter_context_properties);

shell 脚本:

export KUNLUNXIN_XTCL_SELECTED_DEVICE_IDS=0 export KUNLUNXIN_XTCL_DEVICE_TARGET="xpu -libs=xdnn -device-type=xpu1"

从源码看,context properties 与环境变量是“同一参数的两条通道”:Context构造时对每个参数先查 properties,再回退GetStringFromEnv,因此 C++ 显式配置优先级高于 shell 环境变量,二者可任意组合使用。

六、小结与其他说明

  • 昆仑芯 XTCL 接入走的是 Paddle-Lite 的 NNAdapter 子图框架:在线解析 Paddle 模型 → 转换为 NNAdapter 标准算子 → 经融合优化后由 XTCL 组网 API 在线编译执行,并支持编译结果缓存以加速冷启动;
  • 硬件覆盖昆仑芯 1 代(CK10/CK20、K100/K200)与 2 代(CR20、R200)芯片/加速卡,文档中列出的分类、检测、OCR、分割、推荐、视频分类模型均已验证(默认以 R200 为准);
  • 实操路径清晰:装好 XRE 驱动 → 使用 PaddleLite-generic-demo 的run.sh/build.sh验证 → 需要更新时按--nnadapter_with_kunlunxin_xtcl=ON重新编译并替换libs/下的头文件与三个核心 so;
  • 高级参数KUNLUNXIN_XTCL_SELECTED_DEVICE_IDSKUNLUNXIN_XTCL_DEVICE_TARGET可在 C++ API 或 shell 环境中配置,用于指定设备号与卡型代际(xpu1/xpu2);
  • 昆仑芯研发团队正在持续适配更多的 Paddle 算子,以便支持更多的 Paddle 模型。算子支持情况可随时对照 converter/all.h 中的REGISTER_CONVERTER清单核实。

适用前提与限制:本文命令与路径均基于当前仓库lite/tools/build_linux.sh的 nnadapter 编译参数与docs/demo_guides/kunlunxin_xtcl.md文档版本;R200 需要 PCIe4.0 x16 插槽与 8 针独立供电,XRE 驱动需匹配 Ubuntu/CentOS 及对应 Linux kernel 版本;示例库仅覆盖 x86(amd64)与 arm64/armv8 两种 Linux 架构。

【免费下载链接】Paddle-LitePaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)项目地址: https://gitcode.com/GitHub_Trending/pa/Paddle-Lite

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询