本次分享及配套实操以矩阵乘法为例,重点介绍两种性能优化方法:通过数据复用减少重复读取,通过流水调度让数据搬运与计算重叠进行。
在香山—八达岭平台上,矩阵乘法计算所需的数据需要经过外部存储、片上存储和矩阵寄存器,而软件如何安排数据的加载、使用和回写,会影响硬件执行过程。RuyiAI 围绕这条数据路径,将优化方法与平台的存储、计算及搬运能力相结合,为开发者理解香山加速器的使用方式提供了具体案例。
数据复用
减少访存开销,提高数据利用率
在数据复用实验中,RuyiAI 固定数据布局与搬运配置,对不同计算分块进行对照。实验表明,单独增大 K 方向的计算块,输入的逻辑读取量保持不变;调整 M、N 方向的分块,使同一份输入服务于更多累加结果,则能够提高数据复用程度。在所展示的配置中,计算块由64×64×64 调整为128×256×128 后,SPM 到矩阵输入寄存器的逻辑读取量由4 MiB 降至1.5 MiB,减少62.5%。
这组实践说明,算子优化需要同时考虑数据的使用方式和硬件资源约束。通过调整计算分块,已加载至片上存储的数据能够参与更多计算,减少向矩阵输入寄存器的重复加载,该实践体现了软件分块方式与硬件存储资源之间的协同,为提高片上数据复用效率提供了具体参考。
异步流水
重叠数据搬运与计算,减少执行等待
在流水优化实验中,RuyiAI 在相同缓冲配置、寄存器预算和数据搬运量下,对比同步与流水两种执行方式,展示软件调度如何利用香山加速器不同执行部件的并行能力。
同步方式按照数据搬入、矩阵计算、结果写回的顺序执行,部件之间存在等待。流水方式则通过协调数据就绪与缓冲复用,使后续数据的预取与当前计算重叠,并在当前结果写回时推进下一块计算。同时,软件在复用输出缓冲前等待写回完成,避免覆盖尚未搬出的结果。由此,在既定硬件资源下,通过安排执行顺序与依赖关系,可以减少搬运和计算之间的等待,提高硬件资源利用效率。
香山如意合作
深化软硬件协同,共建 RISC-V AI 生态
此次 Tutorial 展示了香山与如意在 RISC-V AI 系统软件栈方面的阶段性合作成果。围绕香山—八达岭 IP 的 FPGA 原型平台,RuyiAI 团队结合其矩阵计算架构、片上存储层次及数据搬运机制,开展了关键 AI 算子的数据复用与异步流水优化实践,并通过实际运行与结果校验验证了优化方法的可行性。这些实践展示了 RuyiAI 软件栈对香山 AI 加速架构的支持能力,同时体现了双方在 RISC-V AI 软硬件适配与性能优化方面的协同成果。
高效 AI 计算不仅依赖硬件计算能力的提升,也需要 AI 编译器、算子库、运行时与硬件架构之间的紧密协同。 香山在开源高性能 RISC-V 处理器及 AI 加速架构方面的技术积累,与如意在 AI 编译优化、算子实现和系统软件栈方面的能力形成了良好的互补。通过将实际 AI 工作负载引入硬件原型平台,双方能够从真实计算任务出发,分析数据访问、指令调度和计算执行过程中的性能瓶颈,探索更加高效的软硬件协同优化方法。
面向未来,香山与如意将进一步深化在 RISC-V AI 软硬件协同设计方面的合作,从现有的算子适配与性能优化,逐步拓展至编译器与微架构协同优化、存储与计算资源调度、AI 计算扩展支持以及端到端模型推理优化等方向。双方将探索以真实 AI 工作负载驱动软硬件联合设计,通过软件性能分析与反馈推动硬件架构优化,并将硬件特性进一步融入编译优化策略,形成软硬件双向反馈、协同演进的技术路径,共同推动开放、高效的 RISC-V AI 软硬件生态建设。
??往期精彩推荐
欢迎您关注开芯院公众号
