《15.d2s2-9-riscv中国峰会承影.pdf》由会员分享,可在线阅读,更多相关《15.d2s2-9-riscv中国峰会承影.pdf(13页珍藏版)》请在三个皮匠报告上搜索。
1、清华大学集成电路学院DSPLAB“承影”:开源通用GPU指令集架构设计及其软硬件实现主讲人:杨泽夏 李京洲背景介绍计算技术的发展一直在推动人类文明的进步,信息时代,芯片的计算能力已成为信息技术进步的核心。GPGPU已经成为未来高算力重要驱动之一。ENIAC 第一台电子计算机5000OPs19461981首个英伟达GPU50GOPs20162021AlphaGo:176 GPUs,1202 CPUs在围棋上战胜人类(2160TOPs)英伟达H1002000TOPsGPU市场份额及占有率情况承影1.0硬件初实现 任务分配:Host-CTA Scheduler-SM(streaming multip
2、rocessor)host将任务以WorkGroup为单位发给GPGPU CTA Scheduler以warp为单位发给SM 每个SM可视为一个支持多warp调度的RISC-V向量处理器 同一WorkGroup内warp、thread通过index区分数据,通过SharedMemory交换数据 任务执行 每个SM可视为一个支持多warp调度的RISC-V向量处理器 每个warp可视为一段RVV程序,经由取指、译码、发射,执行后写回寄存器 warp切换是类似hyper-threading的周期级调度承影2.0指令集架构探索及软硬件实现“承影”围绕开源RISC-V向量扩展搭建国内高性能开源GPGP
3、U平台,提供包括开源指令集、微架构设计、OpenCL软件工具链、专用张量计算单元在内的全套实现。开源指令集RISC-V向量扩展开源编程框架和工具链开源GPGPU平台建设开源硬件架构OpenCL并行编程框架GPGPU微架构Tensor Core计算单元+驱动程序链接器、数学函数库、运行时库编译器功能定义API封装硬件实现研究问题总体目标解决方案具体实现指令集支持及自定义扩展扩展指令类型1.0版本2.0版本VConfiguration-Setting部分支持部分支持Loads and Stores支持支持Integer Arithmetic支持支持Floating-Point支持支持Reducti
4、on不支持参照GPGPU需求添加Mask部分支持参照GPGPU需求添加I部分支持支持M支持支持F支持支持D不支持不支持A不支持支持Register SpillingRISC-V ISA支持:RV32IMA zfinx V自定义指令:分支、同步、线程束控制-SIMT寄存器/立即数扩展-解决Register Spilling自定义访存指令-编译器需求张量计算和exp-DSA支持硬件添加与优化硬件实现张量计算TensorCore和exp函数,由此可实现对transformer运算的支持,借助自定义指令使用通用数据通路完成缓存子系统支持原子和宽松连贯性指导的一致性操作TileLink-UH协议支持Fl
5、ush和Invalidate张量处理单元可扩展性探索L2 Cache分Bank设计+CrossbarNoC,在合见工软的4块VU19P组成的平台中,实现16SM-16warp-16lane规模,占用面积65%SM ClusterSM2Cluster ArbInterconnectDRAML2 Cache BankMemory ControllerMemory PartitionL2 Cache BankMemory ControllerMemory PartitionDRAM000000SMSMSMSMSMSMSM ClusterSM2Cluster ArbSMSMSMSMSMSM“承影”GP
6、GPU软件工具链OpenCL计算框架提供一系列通用中间层API。各芯片供应商根据API标准各自独立实现。调用相同API的软件程序则可以运行在不同硬件平台上。因此OpenCL易于在不同平台之间迁移。*图片来自OpenCL Overview-The Khronos Group Inc#includeint main()status=clGetPlatformIDs(0,NULL,&numPlatforms);free(platform);软件开发者OpenCL软件工具链编译链接标准库芯片公司AA 定制驱动CPU a1C