探索Vortex开源GPGPU:RISC-V SIMT架构(4-2),TCU 矩阵计算(2)

探索Vortex开源GPGPU:RISC-V SIMT架构(4-2),TCU 矩阵计算(2)

目录

前言

一、TCU模块框图

二、WMMA代码分析

2.1  WMMA矩阵分块

2.2  WMMA矩阵地址偏移计算

2.2.1  WMMA matrixA

2.2.2  WMMA matrixB

2.2.3  WMMA matrixC

2.2.4  tcu_int WMMA源代码

总结


前言

本篇分析Vortex矩阵计算的核心模块TCU WMMA。

前文:探索Vortex开源GPGPU:RISC-V SIMT架构(4-2),TCU 矩阵计算(1)https://blog.ZEEKLOG.net/weixin_55313207/article/details/157395313

一、TCU模块框图

  • dispatch_unit:把前级Issue_slice过来的请求经过仲裁器仲裁为1路
  • pe_switch:分为前向和反向
前向:根据pe_select把请求分配到tcu_fp和tcu_int,pe_select是根据数据流里面的fmt_s[3]来判断(1: fp32,fp16,bf16;  0: int32, int8,uint8,int4,uint4) 反向:把tcu_fp(浮点WMMA)和tcu_int(定点WMMA)返回的结果经过仲裁器和时序缓冲器送到gather_unit
  • gather_unit:根据数据流里面的isw(slice序号)把执行结果分配到对应的commit_if,再送给下游Commit模块

二、WMMA代码分析

为了简单起见,只分析tcu_int(定点) WMMA。

2.1  WMMA矩阵分块

matrixB垂直方向分为m_steps个小矩阵块

blkB_{0}

blkB_{1}

....

blkB_{m\_steps-1}

matrixA水平方向分为n_steps个小矩阵块

blkA_{0}

blkA_{1}

....

blkA_{n\_steps-1}

以n_steps=4为例,则matrixA x matrixB的最终结果可分解为4个小矩阵块的乘加。

对于每个

blkA_{j}

 x 

blkB_{j}

,如下图所示,我们有以下结论:

blkA 垂直方向有 m_steps 个小块,所以 blkA x blkB 总共需要 m_steps * n_steps周期计算出tileM行,tileN列结果,需要m_steps * n_steps 个FTR,既总共8个FTR存最终结果

blkA\_sub_{0}

  

blkB_{j}

 需要 n_steps周期计算出 tcM 行, (tcN*n_steps)列结果,占用n_steps个FTR寄存器

blkA\_sub_{0}

  

blkB\_sub_{0}

  有tcM*tcN个结果,既NT个结果,假定每个结果都是XLEN长度,因此需要分配一个线程寄存器(FTR)来存储

对于matrixC += matrixA x  matrixB,在垂直方向和水平方向各有 n_steps个

blkA_{j}

  

blkB_{j}

,所以:

WMMA matrixC  总共计算周期为 m_steps * n_steps * n_steps = 8 * n_steps

Read more

最新电子电气架构(EEA)调研-3

而新一代的强实时性、高确定性,以及满足CAP定理的同步分布式协同技术(SDCT),可以实现替代TSN、DDS的应用,且此技术已经在无人车辆得到验证,同时其低成本学习曲线、无复杂二次开发工作,将开发人员的劳动强度、学习曲线极大降低,使开发人员更多的去完成算法、执行器功能完善。 五、各大车厂的EEA 我们调研策略是从公开信息中获得各大车厂的EEA信息,并在如下中进行展示。 我们集中了华为、特斯拉、大众、蔚来、小鹏、理想、东风(岚图)等有代表领先性的车辆电子电气架构厂商。        1、华为 图12 华为的CCA电子电气架构              (1)华为“计算+通信”CC架构的三个平台                         1)MDC智能驾驶平台;                         2)CDC智能座舱平台                         3)VDC整车控制平台。        联接指的是华为智能网联解决方案,解决车内、车外网络高速连接问题,云服务则是基于云计算提供的服务,如在线车主服务、娱乐和OTA等。 华

By Ne0inhk
Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践

Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践

Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践 文章目录 * Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践 * Apache IoTDB 核心特性与价值 * Apache IoTDB 监控面板完整部署方案 * 安装步骤 * 步骤一:IoTDB开启监控指标采集 * 步骤二:安装、配置Prometheus * 步骤三:安装grafana并配置数据源 * 步骤四:导入IoTDB Grafana看板 * TimechoDB(基于 Apache IoTDB)增强特性 * 总结与应用场景建议 Apache IoTDB 核心特性与价值 Apache IoTDB 专为物联网场景打造的高性能轻量级时序数据库,以 “设备 - 测点” 原生数据模型贴合物理设备与传感器关系,通过高压缩算法、百万级并发写入能力和毫秒级查询响应优化海量时序数据存储成本与处理效率,同时支持边缘轻量部署、

By Ne0inhk
SQL Server 2019安装教程(超详细图文)

SQL Server 2019安装教程(超详细图文)

SQL Server 介绍) SQL Server 是由 微软(Microsoft) 开发的一款 关系型数据库管理系统(RDBMS),支持结构化查询语言(SQL)进行数据存储、管理和分析。自1989年首次发布以来,SQL Server 已成为企业级数据管理的核心解决方案,广泛应用于金融、电商、ERP、CRM 等业务系统。它提供高可用性、安全性、事务处理(ACID)和商业智能(BI)支持,并支持 Windows 和 Linux 跨平台部署。 一、获取 SQL Server 2019 安装包 1. 官方下载方式 前往微软官网注册账号后,即可下载 SQL Server Developer 版本(

By Ne0inhk
【spring02】Spring 管理 Bean-IOC,基于 XML 配置 bean

【spring02】Spring 管理 Bean-IOC,基于 XML 配置 bean

文章目录🌍一. bean 创建顺序🌍二. bean 对象的单例和多例❄️1. 机制❄️2. 使用细节🌍三. bean 的生命周期🌍四. 配置 bean 的后置处理器 【这个比较难】🌍五. 通过属性文件给 bean 注入值🌍六. 基于 XML 的 bean 的自动装配🌍七. spring el 表达式[知道即可] 🙋‍♂️ 作者:@whisperrr.🙋‍♂️ 👀 专栏:spring👀 💥 标题:【spring01】Spring 管理 Bean-IOC,基于 XML 配置 bean💥 ❣️ 寄语:比较是偷走幸福的小偷❣️ 🌍一.

By Ne0inhk