Page 39 - 《软件学报》2026年第6期
P. 39
2358 软件学报 2026 年第 37 卷第 6 期
IR RPM
要支撑的架构
和微架构列表
WORKDIR/ machine1.bc
/usr/lib64/llvmir/ machine2.bc
{ ···
libx.so.1
libx.so.1_cmd}
libx.so.1
llvm-attribute-adjust
libx.so.1_cmd 新 libx.so.1
for
machine1
machine2
···
clang+lld
用户 2 用户 1
RPM SPEC RPM SPEC
OUTPUT WORKDIR2 OUTPUT WORKDIR1
/usr/lib64/libx.so.1 /usr/lib64/libx.so.1
dnf dnf
machine2 machine1
RPM repo for RPM 包 for RPM 包 for RPM repo for
machine2 machine2 machine1 machine1
createrepo createrepo
图 4 RuyiBuild 云端 IR 转换
通过上述客户端设备上的资源自适应调度机制、云端环境中的批量并行转换机制, 以及进一步设计实现的云
端批量 RPM 转换与 RPM 仓库自动化构建机制, RuyiBuild 工具链有效地满足了不同应用场景对软件部署效率和
用户体验的双重需求. 这一整套机制的实施, 不仅确保了客户端设备的转换任务不会影响用户体验, 也充分利用了
云端服务器的资源优势, 极大简化了跨平台软件分发与部署的流程, 验证了 RuyiBuild 工具链在实际应用场景中
的先进性与实用性.
3.5 基于动态模板的指令集扩展自适应与微架构优化实现机制
RISC-V 指令集架构因其开放性与模块化设计, 允许芯片制造商针对特定应用场景定制指令集扩展, 这一特征
在提升硬件设计灵活性的同时, 也带来了严重的软件生态碎片化问题. 为了在这种碎片化的生态环境下实现真正
意义上的软件跨平台兼容与精细化性能优化, RuyiBuild 工具链设计并实现了一套基于动态模板的指令集扩展自
适应与微架构精细优化技术机制. 该机制旨在确保由统一 LLVM IR 文件构建的软件, 能够在部署具体目标设备时
自动进行精确的指令集扩展适配与微架构定制优化, 达到最佳的性能表现.
具体实现上, RuyiBuild 工具链引入了一种动态模板比对与指令集扩展自动适配的流程. 首先, 在目标设备 (客
户端或云端) 部署时, RuyiBuild 自动化脚本工具会自动查询目标设备的 CPU 指令集扩展特性, 特别是在 RISC-V

