当前位置:首页 > 报告详情

33-d3s5-2-RISC-V Summit China 2023 - RISC-V Vector Support on Valgrind.pdf

上传人: 张** 编号:155448 2024-02-15 9页 493.92KB

1、RISC-V Vector Support on ValgrindWu Fei System Software ArchitectLegal Notices and DisclaimersBackgroundValgrind currently lacks support for the RISC-V Vector ISA,while it has already been enabled for RV64GC.There is no existing support on Valgrind for variable length vector instructions,a new desig

2、n is required.Here is a simplified flow of how Valgrind works:InstrumentationMemcheckGuestInstructionHostInstructionIRDesign Choices The preferred way in descending order to enable new instruction on Valgrind Using existing Iops,creating new Iops,clean helper,dirty helperMethod for RVVProConsScalar

3、emulationLeverage existing scalar IRsIR explosionHard to optimizeDirty helperEasy for basic binary translation,e.g.tool=noneDeviate from the design principle of ValgrindDeal with the instrumentation tools such as Memcheck directlyVector IRStandard way to extend IRGeneric design across different vect

4、or ISAsRequires brand new designChallengesGeneric framework and IRs for different vector ISARVV LMUL and backend register allocation No register group allocation yetMask instruction efficiency Inefficient to handle it element by element Current StatusA generic vector IR encoding mechanismA working p

5、rototype to run simple RVV testcases A few instructions uses the new vector IR Memcheck runs well on the prototype Framework enhancement such as adding CPU state to TBThe Vector IR design is still in reviewRVV Intel public repository:https:/ repository:https:/ StepGet the vector IR design reviewedDe

6、sign the code pattern for common features such as LMUL,maskComplete the full RVV supportRISE is focused on positive and transparent collaborations with upstream projects to deliver commercial-ready software for various use casesGoal:Acceler

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
Valgrind目前缺乏对RISC-V向量指令集的支持,尽管它已经为RV64GC启用。没有现存的Valgrind支持可变长度的向量指令,需要新的设计。Valgrind的工作流程简化为:instrumentation, Memcheck, GuestInstruction, HostInstruction和IR。为了在Valgrind上启用新的指令,优先使用现有Iops,创建新的Iops,干净的助手和脏助手。RVV Pro Cons的Scalar仿真容易导致IR爆炸,难以优化。脏助手方法容易处理基本二进制翻译,但不符合Valgrind的设计原则,直接处理诸如Memcheck之类的检测工具。向量IR是扩展IR的标准方式,具有适用于不同向量ISA的通用设计,但需要全新的设计。挑战包括为不同的向量ISA创建通用的框架和IR,以及处理RVV LMUL和后端寄存器分配等问题。目前,已经实现了一个通用的向量IR编码机制,一个可以运行简单RVV测试用例的工作原型,一些指令已使用新的向量IR,Memcheck在原型上运行良好,TB的CPU状态已添加到框架中。vector IR设计仍在审查中。RVV Intel公共存储库位于:https://github.com/intel/valgrind-rvv/tree/poc-rvv,RV64GC存储库位于:https://github.com/petrpavlu/valgrind-riscv64.git。下一步是审查向量IR设计,设计代码模式以实现诸如LMUL和mask等常见功能,并完成完整的RVV支持。RISE专注于与上游项目进行积极和透明的合作,为各种用例提供商业就绪软件。目标是加速RISC-V架构的开源软件。在2023年中国RISC-V峰会上,Intel将讨论有关RISC-V向量支持在Valgrind上的最佳实践以及向量化的优化。
"RISC-V Vector Support on Valgrind": How does the lack of RISC-V Vector ISA support in Valgrind currently impact developers and what benefits can be gained by enabling it? "Vector IR and RVV Pro Cons": What are the challenges and advantages of using a generic vector IR design for supporting different vector ISAs, and how does it compare to scalar emulation and dirty helper methods in terms of performance and optimization? "RISC-V summit China 2023": What interesting topics related to RISC-V were presented at the summit, and how can they contribute to the acceleration of open-source software development for the RISC-V architecture?
客服
商务合作
小程序
服务号
折叠