《19.2025_Ventus_Recent Advances in a High-Performance, Full-Stack RISC-V GPGPU.pdf》由会员分享,可在线阅读,更多相关《19.2025_Ventus_Recent Advances in a High-Performance, Full-Stack RISC-V GPGPU.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、马鸣远马鸣远 清华大学集成电路学院清华大学集成电路学院Ventus:RecentAdvancesinaHigh-Performance,Full-StackRISC-VGPGPUFull-stackFrameworkISAEnhancementRTLDevelopmentFPGAPrototypingFull-stackFramework全栈工具链,仿真验证框架仿真框架更新与工具链整合ChiselRTLVerilator仿真框架、周期级仿真器整合入乘影工具链中定义仿真框架API,打包动态库虚拟内存管理驱动程序:SV32/SV39多种仿真后端采用统一接口调用,便于切换优势:简化仿真流程,无需手动
2、生成测例的中间文件能够在OpenCL程序中验证结果正确性提供一键部署脚本+回归测试脚本相比于chiseltest方案,仿真效率显著提高(RTL)避免重复编译、允许多线程并行仿真VENTUS_BACKEND=spike ./a.out#使用Spike指令级仿真器VENTUS_BACKEND=rtlsim ./a.out#使用Chisel RTL仿真VENTUS_BACKEND=cyclesim./a.out#使用周期级仿真器基于SystemC的周期级(cycle-level)仿真器功能建模:对齐/超越RTL,作为同等地位的仿真后端可彼此替换对照RTL方案,完整的硬件微架构实现与指令支持MMU虚拟
3、地址翻译,SV32/SV39驱动端页表管理程序单一SM并行多Kernel:线程块调度器资源分配改进、barrier/endprg改进引入Subcore硬件结构,实现多warp并行发射执行顶层重构与封装:接入驱动工具链时序建模:内核前端:对照硬件流水线建模(适度简化)内核执行单元:简化建模,手动为各运算设置特定延时缓存系统:RTL级L1cache建模,事务级L2cache建模存储器:引入Ramulator2提供DRAM内存控制器与DDR时序建模基于SystemC的周期级仿真器缓存系统建模原子操作支持命中与延迟统计L1:C+RTL建模,包装为SystemCModuleAdapter:RTL到TLM
4、的中间适配层L2:事务队列建模MMU:功能级建模基于SystemC的周期级仿真器L2cacheTLM流程图基于SystemC的周期级仿真器引入Subcore后的仿真器建模的硬件结构:低硬件成本的多发射实现方案GPUVerificationModel(GVM)将RTL与ISASimulator进行在线差分比对,助力乘影RTL代码高效debug以VentusRTL为DUT为捕获硬件信号,针对乘影微架构,在RTL模块中添加DPI-C探针支持寄存器扩展指令等特殊情况处理VentusGPGPUISASimulator为Reference改进了ISASimulator的Workgroup管理、上下文切换等
5、特性,以支持多Workgroup的并发执行,以及细粒度的步进控制,实现RTL与ISASimulator的同步调度可发现指令dispatch顺序错误、运算指令写回数据错误、寄存器不一致等问题作为虚拟设备接入乘影软件工具链,支持从OpenCL程序一键启动GPUVerificationModel(GVM)单周期步进DUT,并将指令派遣与完成等事件捕获至顶层仿真程序当DUT的CTAScheduler向SM发送新warp时,将寄存器堆中该warp的对应寄存器初值同步至Reference为解决GPGPU无硬件ROB,导致DUT和Reference不易同步的问题,构建warp级软件ROB当DUT的乱序执行符
6、合特定条件时,视作reitre一批指令,并同步步进Reference,进行差分比对引入指令白名单,提高retire频率和框架兼容性ISAEnhancementgeneric address ISA,64-bits+encodinggenericaddressWhygenericaddress?模板模板/库函数实例爆炸库函数实例爆炸分支发散+代码重复泛型算法性能受限阻塞硬件演进与UMAC+/OpenCL 模板形参里的指针无法提前确定地址空间。编译器只能为global、shared/local 分别克隆一份函数体编译时间膨胀2-5Binary 体积增加30-100%LTO/IPO 机会大幅下降伪代