7月18日,在第五届RISC-V中国峰会的“软件与生态系统分论坛”上,阿里巴巴达摩院RISC-V及生态部技术专家刘志伟以《QEMU RISC-V支持的最新进展(2024-2025)》为题进行了主题演讲。
在演讲中,刘志伟围绕QEMU RISC-V的开发进展、最新特性及未来规划展开分享,重点介绍了其在功能完善与性能优化上的成果。
据介绍,目前QEMU已支持9个开发板、25个CPU、6个Profile及141个扩展。过去一年,主要完成了多项关键功能合入:实现对RVA23 Profile的支持,提升RVV模拟效率,新增IOMMU及CFI Profile Mask等重要扩展支持,引入声明式CPU设计及TCG后端支持等。
当前开发重点包括:完善IOPMP功能,增强虚拟化支持,实现SMMPT以支撑机密计算,扩展开发板版本覆盖,优化热迁移功能,提升Server SoC支持能力,实现多核确定性执行,以及支持OCP数据类型等。
QEMU RISC-V最新特性解析刘志伟表示,针对RVV模拟效率偏低的问题,社区发现标量编译与向量编译下QEMU运行速度差异显著,核心原因是仅17%的指令被翻译为TCG IR,其余依赖Helper函数,且存在边界处理、掩码、大小端兼容及精确浮点等限制,导致向量指令无法高效转换。
对此,通过对Helper函数的针对性优化,SPEC 2006整数基准测试性能提升74.02%,平均运行时间从8913.70秒降至2316.19秒。未来还将通过GVEC IR增加掩码处理机制、优化stride等进一步提升效率。
与此同时,QEMU还进行了IOMMU与SMMPT支持和多核确定性执行方面的优化。
一方面,通过复用IOMMU MemoryRegion并扩展PASID,完善IOMMU功能;实现SMMPT按域访问控制,通过SDID(安全域ID)标记及域专属页目录地址,为机密计算提供基础支持。针对多核确定性执行,扩展传统单线程确定性执行至多核场景,采用轮询模式处理IO线程与CPU线程的交互,解决多线程下共享内存访存的非确定性问题,目前已完成基础开发。
此外,针对Plugin与OCP数据类型支持:实现指令插装功能,但在集成器访问变动插装上仍需完善机制以解决目标定位问题;针对AI应用广泛的OCP数据格式(如BF16),新增数据类型支持并兼容canonicali规范,通过ALTFMT机制适配RISC-V社区需求,未来将兼容P3109等AI常用数据类型。
未来规划与展望据刘志伟介绍,QEMU RISC-V的后续发展将聚焦以下方向:
AI指令集支持:涵盖OCP Matrix、P扩展等,探讨64位指令宽度的机制支持;机密计算增强:完善E-trace、IOPMP等扩展的模拟建模;硬件特性适配:提升对PCIE、QoS、RAS等的支持。刘志伟表示,QEMU作为RISC-V生态的重要工具,将持续通过功能完善与性能优化,为开发者提供更高效、可靠的模拟环境,助力RISC-V在多领域的应用落地。
转载请注明来自海坡下载,本文标题:《优化qemu(阿里达摩院详解QEMU RISCV进展突破与未来路线图)》
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...