基于musl libc库的RVV优化

作者:张飞; 于佳耕*; 邢明杰; 武延军
来源:计算机系统应用, 2023, 32(11): 29-35.
DOI:10.15888/j.cnki.csa.009332

摘要

musl libc是一个轻量级的标准C库,其代码库小巧,提供了全面的POSIX接口支持,具有高度可移植性并支持多种架构和操作系统,被广泛用于嵌入式系统、网络服务器、容器等领域. RISC-V指令集作为一种开源的指令集,目前发布了相对稳定的SIMD指令集, RISC-V生态软件环境也迎来了新的优化热潮,但是对于musl libc库RVV扩展优化还是一片空白.本文立足于musl libc基础库和RISC-V RVV扩展指令集的协同研究点,提出了兼容基础指令集和向量扩展指令集的实现方案,利用向量扩展指令集优化了常见的C库函数strlen和memset,并在gem5模拟器上进行了对比分析,实验结果表明,相较于C语言实现,在性能方面,利用RVV优化的strlen函数平均提升83%–703%, memset函数平均提升85%–334%.

全文