《6-RV23-工具-王凯帆-最终版.pdf》由会员分享,可在线阅读,更多相关《6-RV23-工具-王凯帆-最终版.pdf(18页珍藏版)》请在三个皮匠报告上搜索。
1、敏捷开发工具链助力香山高性能处理器核王凯帆 徐易难 陈国凯 李昕 等中国科学院计算技术研究所2023 年 8 月 24 日第三届 RISC-V 中国峰会中国科学院计算技术研究所(ICT,CAS)2 2背景:高性能处理器竞争激烈 香山处理器核需要通过敏捷开发工具链提升迭代速度,以快速实现对标甚至超越 RISC-V 处理器核与 X86/ARM目前在性能上存在差距 RISC-V 阵营内部,国际企业SiFive 和 Ventana 等具备一定的先发优势和人才优势香山第一代(雁栖湖)香山第二代(南湖)香山第三代(昆明湖)中国科学院计算技术研究所(ICT,CAS)3 3背景:高性能处理器敏捷开发 香山核心
2、价值是构建一套芯片敏捷设计基础设施,缩短迭代优化周期 开源开放能力体系,联合企业加速处理器研发节奏,支持按需快速定制芯片成果开源能力开放中国科学院计算技术研究所(ICT,CAS)4 4高性能处理器敏捷开发现状 香山高性能处理器核开发进入深水区,面临的两个主要的问题功能验证性能优化处理器设计与验证在敏捷度上的差距持续扩大,形成一堵验证墙设计简单设计简单收益确定收益确定设计困难设计困难收益不定收益不定已知简单优化点实现殆尽,性能优化转向探索性与精细化中国科学院计算技术研究所(ICT,CAS)5 5回顾:香山敏捷开发工具链敏捷功能验证敏捷性能优化中国科学院计算技术研究所(ICT,CAS)6 6功能验
3、证循环的不足 问题定位环节仍然需要大量人力 结构化信息辅助调试 系统级验证提升覆盖率困难 硬件模糊测试中国科学院计算技术研究所(ICT,CAS)7 7结构化信息辅助调试 功能验证的最后一公里问题 如何根据硬件出错状态定位 Bug ChiselDB1为结构化信息调试提供可能 以处理器缓存调试为例:仿真硬件探针处理器仿真进程结构化信息数据库预取器功能验证自动化脚本缓存功能验证自动化脚本分支预测功能验证自动化脚本1 ChiselDB:Mapping Hardware Data Structures to Database for Efficient Data Analysis,Jiawei LinI
4、CT中国科学院计算技术研究所(ICT,CAS)8 8面向 RISC-V CPU 的覆盖率导向模糊测试 原理:初始种子遗传算法新测试输入错误检查覆盖率反馈中国科学院计算技术研究所(ICT,CAS)9 9面向 RISC-V CPU 的覆盖率导向模糊测试 应用:指导发现大量功能正确性 BUG落地香山第二代南湖项目错误示例:pmpaddr1 寄存器逻辑实现错误测试其他开源处理器功能正确性rocket-chip:越界访问页表时未正确报出 access-fault 异常中国科学院计算技术研究所(ICT,CAS)1010性能优化循环的不足 精细化 从宏观到微观的性能分析流程 探索性 运行时设计参数调整 设计
5、参数自动求解中国科学院计算技术研究所(ICT,CAS)1111Top-down 宏观性能分析从宏观上发现香山性能瓶颈中国科学院计算技术研究所(ICT,CAS)1212XSPerfRolling 微观性能分析 仿真运行各类 Workload 时,处理器性能表现往往不均一 以若干 SPEC CPU 2006 Checkpoint 的 IPC rolling 曲线为例(40M cycles):一些架构/参数的改动只影响其中若干片断,性能计数器作为变化表征会被稀释Feature:预取器的训练时机改动libquantumbwavesmcf中国科学院计算技术研究所(ICT,CAS)1313XSPerfRo
6、lling 微观性能分析 支持性能指标的 Rolling 曲线采集与可视化工具+方便快捷的添加流程+可视化性能分析+精细分析片断间的性能差异+帮助锁定参数敏感的 Critical Region-存储开销更大 使用 ChiselDB 缓解存储问题Critical Region编译+仿真+脚本分析中国科学院计算技术研究所(ICT,CAS)1414如何更快地调整设计参数方法1仿真评估问题:编译与仿真串行化,参数调优效率低下参数 A 编译仿真评估参数 B 编译方法2参数 A 编译参数 B 编译仿真评估仿真评估问题:多次编译