解锁 TL182X 算力卡:20TOPS 算力 RK1828 大模型部署全实操(二)

四、CNN与LLM模型测试

 

本章节基于瑞芯微官方所提供的参考案例,对模型推理功能(CNN与LLM)展开测试,以评估TL182X评估套件的性能。

请先参考TL3588-EVM产品资料的《系统启动卡制作及系统固化》文档,将产品资料“软件资料\RK182X-AI-Accelerator\updateimg\[系统版本]”目录下对应的系统镜像制作成SD启动卡。
 

备注:系统镜像默认为普通Linux内核。

 

 

本章节使用TL1828-A1.1为例进行演示,因此使用update_sodimm.img系统镜像进行测试。
 

4.1硬件连接

4.1.1 TL1828-A1.1
 

请将转接板拨码开关拨至1000(1~4)(ON为1,相反为0),如下图所示。

备注:该启动方式选择拨码开关实现对RK1828算力协处理器的配置,若拨码错误,将可能导致TL182X评估套件无法被TL3588-EVM评估板正确识别。

 

图 25

 

请将TL182X评估套件连接至TL3588-EVM评估板PCIe RC(CON21)接口,使用网线将评估板任意网口与路由器连接,将SD启动卡接入TL3588-EVM评估板Micro SD卡槽,硬件连接如下图所示。

备注:请先为TL182X评估套件上电,再为TL3588EVM评估板上电。

 

图 26

 

4.1.2 TL1828-M-A1.1

 

请将TL182X评估套件连接至TL3588-EVM评估板PCIe RC(CON21)接口,使用网线将评估板任意网口与路由器连接,将SD启动卡接入TL3588-EVM评估板Micro SD卡槽,将RM1828MC0-F模组电源转接线连接至12V电源适配器,硬件连接如下图所示。

备注:请先为TL182X评估套件(为RM1828MC0-F模组供电)上电,再为TL3588-EVM评估板上电。

 

图 27

 

4.2搭建运行时环境

 

(1)环境搭建

若评估板已替换为产品资料“软件资料\RK182X-AI-Accelerator\updateimg\”目录下对应的系统镜像(默认为普通Linux内核),可跳过以下步骤;否则,请参考下文进行环境搭建。

a) 替换内核

我司提供的TL3588EVM产品资料系统镜像中,内核默认未启用PCIe功能。请参考我司TL3588EVM产品资料的《Ubuntu系统使用手册》,替换为"boot-enable-pcie.img"内核镜像。

备注:该内核镜像位于TL3588-EVM产品资料“4-软件资料\Ubuntu\Kernel\image\linux-5.10.209-[版本号]-[Git序列号]\”目录下,如需使用Linux-RT内核,请选用"boot-enable-pcie-rt.img"内核镜像。

b) 安装rknn3库及工具

我司提供的rknn3库及工具包位于产品资料“软件资料\RK182X-AI-Acceleratorect\runtime\”目录下,请将rknn3库及工具包拷贝至评估板文件系统任意目录下。

 

 

执行如下命令,在评估板上安装rknn3库及工具。

Target# mkdir tmp

Target# tar zxf rknn3_rk182x_sodimm_installer_arm64.tgz -C tmp/

 

图 28

 

Target# cd tmp/

 

图 29

 

 

执行如下命令,安装dpkg-architecture工具,以确保后续install.sh脚本顺利运行。

Target# apt install dpkg-dev

 

图 30

 

执行install.sh脚本,安装rknn3库及工具。

Target# ./install.sh

 

图 31

 

c)安装pcie-rkep驱动

请将位于产品资料“软件资料\RK182X-AI-Accelerator\runtime\[系统版本]”目录下的"pcie-rkep.ko"驱动文件拷贝至评估板文件系统"/usr/lib/modules/"目录下。

备注:

(1)如需使用Linux-RT内核,请使用"pcie-rkep-rt.ko"驱动文件,并将其重命名为"pcie-rkep.ko"。

(2)请根据评估板实际文件系统版本安装对应的驱动文件。

 

图 32

 

至此,运行时环境搭建完毕,请重启评估板。

(3)查询PCIe设备及驱动

执行如下命令,查看评估板是否识别到PCIe设备。若打印如下信息,即表示已识别到PCIe设备。

Target# lspci

 

图 33

 

执行如下命令,查看pcie_rkep驱动是否已加载。若打印如下信息,即表示已加载pcie_rkep驱动。

Target# lsmod

 

图 34

 

(4)查询算力卡信息

执行如下命令,使用rknn-smi工具查看算力卡信息,以确认算力卡能被正常识别。

Target# rknn-smi info

备注:rknn-smi(System Management Interface)工具可用于RKNPU设备的信息收集、功能配置、日志管理等功能。我司已提供相关文档位于产品资料“开发参考资料/Tools/”目录下。

 

图 35

 

执行如下命令,查看算力卡型号名称。

Target# rknn-smi info -l

备注:不同批次算力卡的型号名称不同,请以实际型号为准。

 

图 36

 

(5)开启rknn-smi工具

执行如下命令,查看评估板IP地址。

Target# ifconfig

 

图 37

 

本次查询到评估板IP地址为192.168.12.20。

在上位机Ubuntu系统执行如下命令,使用SSH协议登录评估板文件系统。

Host# ssh root@192.168.12.20

 

图 38

 

执行如下命令,使用rknn-smi工具以查看模型运行时CPU与NPU使用率。

Host# rknn-smi info -w

 

图 39

4.3优化CPU空闲状态
 

在Linux系统中,CPU通过cpuidle机制管理不同级别的空闲状态。较深层级的空闲状态虽然可以降低功耗,但会带来较大的唤醒延迟,在高负载或实时性要求较高的场景下,可能影响模型处理效率和TPS稳定性。

执行如下命令,通过禁用各CPU核心的state1空闲状态,使CPU保持在较浅层idle状态运行,从而降低唤醒延迟、减少时延抖动、提升Decode TPS处理性能。

Target# echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu4/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu5/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu6/cpuidle/state1/disable

Target# echo 1 > /sys/devices/system/cpu/cpu7/cpuidle/state1/disable

 

图 40

 

如需恢复CPU状态,请执行如下命令进行恢复。

Target# echo 0 > /sys/devices/system/cpu/cpu0/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu1/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu2/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu3/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu4/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu5/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu6/cpuidle/state1/disable

Target# echo 0 > /sys/devices/system/cpu/cpu7/cpuidle/state1/disable

 

图 41

 

4.4运行CNN模型
 

请将“软件资料\RK182X-AI-Acceleratorect\model\cnn\yolov5s\”目录下的所有文件拷贝至评估板文件系统任意目录。

Target# cd model/cnn/yolov5s/

 

图 42

 

执行如下命令,可查看rknn3_model_test程序相关参数信息。

备注:rknn3_model_test默认已打包进评估板文件系统。

Target# rknn3_model_test -h

 

图 43

 

参数说明:

  1. <model_path>:RKNN文件存放路径。
  2. <weight_path>:Weight文件存放路径。

执行如下命令,运行yolov5s模型测试程序(即rknn3_model_test)。

Target# rknn3_model_test yolov5s_rknn3.rknn yolov5s_rknn3.weight

 

图 44

 

在上位机Ubuntu终端下,可查看模型运行时CPU与NPU使用率。

 

图 45

 

由结合上述打印信息可知,运行模型耗时28.775ms,CPU最大使用率为:15%,NPU使用率为0%。
 

4.5运行LLM模型
 

执行如下命令,可查看rknn3_session_test_eval_perf程序相关参数信息。

备注:rknn3_session_test_eval_perf默认已打包进评估板文件系统。

Target# rknn3_session_test_eval_perf -h

 

图 46

 

参数说明:

  1. <rknn_path>:RKNN文件存放路径。
  2. <weight_path>:Weight文件存放路径。
  3. <tokenizer.gguf>:tokenizer.gguf文件存放路径。
  4. <embedding.bin>:embedding.bin文件存放路径。
  5. <max_context_len>:模型转换时rknn.config中配置的max_ctx_len值。
  6. <max_new_token>:每次会话最多生成的Token数。
  7. <core_mask>:十六进制数,用于选择启用的核心。

备注:<max_context_len>参数决定模型转换和推理过程中输入序列的最大长度,<max_new_token>参数决定推理生成阶段输出序列的最大长度。

4.5.1 运行Qwen2.5-3B模型

请将“软件资料\RK182X-AI-Acceleratorect\model\llm\Qwen2.5-3B\”目录下的所有文件拷贝至评估板文件系统。

备注:请确保用于拷贝Qwen2.5-3B模型的文件系统目录具备充足的剩余存储空间。

Target# cd /userdata/model/llm/Qwen2.5-3B/

 

图 47

 

执行如下命令,运行Qwen2.5-3B模型测试程序,该程序在测试过程中,会以随机生成的token序列作为测试样本,重复进行3次提问,最终统计并输出测试的性能。

Target# rknn3_session_test_eval_perf Qwen2.5-3B.rknn Qwen2.5-3B.weight Qwen2.5-3B.tokenizer.gguf Qwen2.5-3B.embed.bin 1024 128 128 0xff

 

图 48

 

程序统计性能:

 

图 49

 

由打印信息可得:

 

 

查看CPU使用率和NPU使用率:

 

图 50

 

由上图可以看到,CPU使用率最高54%,NPU使用率最高91%。
 

posted @ 2026-08-05 10:28  创龙科技-黄工  阅读(11)  评论(0)    收藏  举报