MemryX现已支持瑞萨RZ/G3E平台的Yocto BSP,为开发者提供了在边缘侧部署高性能、低功耗AI应用的简化路径。
本文最初发布于MemryX官方网站,经MemryX授权转载。
本文提供了完整软件搭建流程的实用概述,包括BSP配置、MemryX Yocto层的集成、交叉编译、部署,以及在MemryX硬件上运行加速计算机视觉应用的全过程。
关于详细的搭建说明和源代码,请访问MemryX官方GitHub页面上的项目仓库。
验证配置
本指南中描述的步骤已通过以下硬件和软件配置进行验证。
配套的GitHub仓库包含用于构建该验证配置所使用的完整Yocto层修改内容和配方文件。
前提条件
在开始构建过程之前,请确保你的开发环境满足以下要求:
一台Linux开发工作站(推荐使用Ubuntu 24.04),并安装了标准的Yocto Project主机依赖项。
约200GB的可用磁盘空间,用于完整的BSP构建。
已配置好的Git环境(git config --global user.name 和 git config --global user.email),以确保在开发过程中补丁能够正确应用。
一个已注册的MyRenesas账户,用于下载所需的瑞萨图形和多媒体软件包。
与BSP v1.0.0对应的瑞萨专有图形和视频编解码软件包。
初次构建期间的互联网连接,用于下载Yocto源码包和仓库。
满足以上前提条件后,即可按照下述步骤配置和构建BSP。
环境搭建
针对瑞萨RZ/G3E的MemryX集成通过memx-yocto-renesas仓库提供,该仓库包含了MX3 PCIe内核驱动和MemryX运行时库所对应的Yocto集成层。
该构建环境以标准的瑞萨RZ/G3E Yocto BSP搭建为基础。下载并初始化瑞萨BSP后,可以使用bitbake-layers将MemryX层添加到构建配置中。
该仓库目前包含两个主要层:
meta-mx3-driver,用于构建MX3 M.2 PCIe内核模块
meta-memx-runtime,用于构建MemryX运行时库和基准测试工具
初始化BSP环境之后,即可添加MemryX层:
然后可以配置目标镜像,纳入MemryX软件包以及加速视频推理工作流所需的多媒体技术栈组件。
构建BSP镜像
该平台使用Yocto和BitBake,按照瑞萨标准工作流程进行构建。对于开发和评估而言,推荐的镜像目标是core-image-weston,它提供了示例应用所需的Wayland显示和视频编解码支持。
可以使用以下方式构建BSP镜像:
构建完成后,生成的镜像文件可以在以下位置找到:
随后可将这些文件烧录到microSD卡中,用于在瑞萨RZ/G3E平台上启动。
生成交叉编译SDK
除了目标镜像之外,Yocto还可以生成完整的交叉编译SDK,用于应用开发。
生成SDK的命令为:
该命令会生成一个独立完整的交叉编译环境,其中包含:
aarch64交叉编译工具链
目标系统根文件系统库
MemryX运行时及其依赖项的头文件
CMake集成支持
安装生成的SDK后,可以通过以下方式启用该环境:
注意:你的路径可能有所不同。
此时,标准的基于CMake的应用程序即可直接针对瑞萨目标平台进行交叉编译。
交叉编译示例应用
为展示完整的部署流程,该平台通过一个运行在640×640输入分辨率下的C++ YOLO26 Nano目标检测应用进行了验证。该示例应用可在memx_test_app仓库中找到,只需克隆该仓库并进入项目文件夹即可。
该应用使用了:
GStreamer用于视频采集
OpenCV用于图像预处理和渲染
MemryX运行时用于在MX3加速芯片上执行推理
在加载Yocto SDK环境后,可以使用CMake构建该应用:
生成的二进制文件是一个可直接部署到瑞萨平台上的aarch64可执行文件。
部署到目标设备
编译好的应用程序及所需的运行时库,可以通过cp命令直接复制到目标根文件系统中,或者在烧录之前将二进制文件放入生成的rootfs镜像中。
典型的部署位置包括:
部署完成后,可以使用以下命令检查共享库依赖关系:
以确认目标设备上所有共享库依赖项均已正确解析。
在平台上运行推理
部署完成后,示例应用即可直接在瑞萨RZ/G3E平台上运行。
在目标检测测试中,运行于640×640分辨率下的YOLO26 Nano模型,通过MemryX加速流水线实现了约60 FPS的端到端性能。该端到端工作流包括:
USB摄像头输入的视频解码
预处理
在MemryX硬件上进行加速推理
后处理与显示渲染
此外,RZ/G3E平台还可以使用内置的acclBench基准测试工具进行评估,该工具可直接测量加速器吞吐量,并提供针对持续推理负载的压力测试能力。关于acclBench命令行工具的使用详情,请参阅MemryX开发者中心的相关文档。
硬件平台
参考硬件平台使用了一个MemryX MX3 M.2 AI加速模块。结合瑞萨RZ/G3E SOM和基于Yocto的Linux环境,该平台为涵盖工业自动化、智能视觉和智能边缘系统的嵌入式AI应用提供了灵活且可扩展的基础。
性能考量
瑞萨RZ/G3E平台搭载四核Arm Cortex-A55处理器,集成图形处理、多媒体功能和高速连接能力,为现代嵌入式AI应用提供了强大的基础。通过将该平台与采用PCIe Gen3接口的MemryX加速器相结合,AI推理工作负载可以从主机CPU上卸载,使处理器能够专注于应用逻辑、传感器管理、通信等其他系统任务。这种组合在保持高效架构的同时,显著提升了AI性能,非常适合工业、机器人、视觉等各类嵌入式边缘部署场景。
源代码与详细说明
完整的源代码、Yocto层以及搭建说明均可在MemryX GitHub上获取。祝开发顺利!
Lindsay Morel
MemryX
