System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 支持非结构化稀疏矩阵计算的张量核架构系统技术方案_技高网

支持非结构化稀疏矩阵计算的张量核架构系统技术方案

技术编号:40230166 阅读:7 留言:0更新日期:2024-02-02 22:32
一种支持非结构化稀疏矩阵计算的张量核架构系统,矩阵加载单元、解码单元、处理单元阵列和矩阵存储单元,其中:MLU从HBM中加载稠密矩阵和稀疏矩阵的数据到片上后,将相应的数据输出到DU上,DU根据解码后的稀疏矩阵块的索引,选择稠密矩阵块中的对应元素,即有效元素并输出至PU阵列,PU阵列中的各个PE数组完成所有计算后,将中间结果存储在MSU中,MSU将PU阵列的中间结果累加到相应的片上缓冲区。本发明专利技术通过改进的稀疏矩阵模式,使用多个稀疏度不同的细粒度结构化块表示粗粒度层面上的非结构化稀疏矩阵。实现不同稀疏度的结构化稀疏归约功能。本架构仅扩展标准归约网络的数据宽度,而无需增加额外的互连结构或片上缓存,即可同时处理稠密和结构化稀疏归约。

【技术实现步骤摘要】

本专利技术涉及的是一种神经网络处理领域的技术,具体是一种支持非结构化稀疏矩阵计算的张量核架构系统


技术介绍

1、稀疏广泛存在于许多的深度学习模型,因此,深度学习模型中的核心操作由稠密的通用矩阵乘法(gemm)运算转化为稀疏矩阵-稠密矩阵乘法(spmm)计算。spmm可以表示为c=a×b。其中a是稀疏矩阵,b和c是稠密矩阵。剪枝后的卷积神经网络(cnn)的权重是稀疏矩阵,图神经网络(gnn)的主要操作是聚合和组合,聚合操作可以抽象为spmm,组合操作抽象为gemm。由于剪枝后的权值和图上的连接是不规则分布的,spmm操作通常处理的是非结构稀疏矩阵。

2、现有的nvidia 2:4稀疏tc技术将矩阵剪枝成2:4稀疏模式,2:4稀疏模式要求矩阵中每行的4个元素中必须有2个非零元素。这种稀疏模式限制了cnn中权重剪枝等技术的灵活性,以及gnn中图输入数据的稀疏度(图的稠密度为10-3~10-5)。现有的定制化加速器技术则通过额外的架构导致硬件效率低下。为了处理和计算非结构稀疏矩阵中的非零元素,需要增加动态数据路由的互连结构或避免数据冲突的更大片上缓存。


技术实现思路

1、本专利技术针对现有技术存在的上述不足,提出一种支持非结构化稀疏矩阵计算的张量核架构系统,通过改进的稀疏矩阵模式,使用多个稀疏度不同的细粒度结构化块表示粗粒度层面上的非结构化稀疏矩阵。本专利技术仅扩展标准归约网络的数据宽度,而无需增加额外的互连结构或片上缓存,即可同时实现不同稀疏度的结构化稀疏归约功能。

2、本专利技术是通过以下技术方案实现的:

3、本专利技术涉及一种支持非结构化稀疏矩阵计算的张量核架构系统,包括:矩阵加载单元(mlu)、解码单元(du)、处理单元(pu)阵列和矩阵存储单元(msu),其中:mlu从高带宽存储器(hbm)中加载稠密矩阵和稀疏矩阵的数据到片上后,将相应的数据输出到du上,du根据稀疏矩阵块的索引,解码和选择稠密矩阵块中的对应元素,即有效元素并输出至pu阵列,pu阵列中的各个pe数组完成所有计算后,将中间结果存储在msu中,msu将pu阵列的中间结果累加到相应的片上缓冲区。

4、所述的中间结果,即矩阵乘法运算每一步骤中得到的中间计算的结果。

5、所述的加载矩阵到片上缓冲区,包括非结构化稀疏矩阵和稠密矩阵,其中:粗粒度层面上的非结构化稀疏矩阵通过多个稀疏度不同的细粒度结构化块表示。

6、所述的矩阵加载单元包括:寄存器、矩阵a元素存储单元、矩阵a索引存储单元和矩阵b存储单元,其中:寄存器记录整个计算任务的信息,例如矩阵块的大小和类型,矩阵a元素存储单元存储稀疏矩阵a的元素信息,在后续pu执行乘法计算处理,矩阵a索引存储单元存储稀疏矩阵a的索引信息,在后续的du中选择稠密矩阵b的有效元素,矩阵b存储单元存储稠密矩阵b的元素,用于在du中被选择有效的若干个元素。

7、所述的解码单元包括:输入寄存器、多路选择器、输出寄存器,其中:输入寄存器存储矩阵b输入的元素,多路选择器根据稀疏矩阵a的索引信息,在输入寄存器中选择相应的若干个有效元素,输出寄存器存储多路选择器的输出结果。

8、所述的矩阵存储单元包括:输入寄存器、累加存储单元、加法器,其中:输入寄存器存储pu输出的计算结果,累加存储单元上存储之前计算得到的部分结果,根据输入寄存器中元素的对应位置读出相应的元素,加法器根据输入寄存器的元素和累加存储单元读出的元素做加法操作,然后将结果写入到累加存储单元相应的位置。

9、技术效果

10、本专利技术通过改进的稀疏矩阵模式和结合该模式的稀疏张量核硬件架构,在基于张量核心的硬件架构上实现支持灵活的稀疏计算模式,即仅部分元素参与计算,与现有技术相比显著提高了稀疏矩阵乘法的计算速度。

本文档来自技高网
...

【技术保护点】

1.一种支持非结构化稀疏矩阵计算的张量核架构系统,其特征在于,包括:矩阵加载单元、解码单元、处理单元阵列和矩阵存储单元,其中:MLU从HBM中加载稠密矩阵和稀疏矩阵的数据到片上后,将相应的数据输出到DU上,DU根据解码后的稀疏矩阵块的索引,选择稠密矩阵块中的对应元素,即有效元素并输出至PU阵列,PU阵列中的各个PE数组完成所有计算后,将中间结果存储在MSU中,MSU将PU阵列的中间结果累加到相应的片上缓冲区。

2.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的加载矩阵到片上缓冲区,包括非结构化稀疏矩阵和稠密矩阵,其中:粗粒度层面上的非结构化稀疏矩阵通过多个稀疏度不同的细粒度结构化块表示。

3.根据权利要求2所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的细粒度结构化块中包含块信息和块元素信息,其中:块信息为每个块的类型和块元素在内存中的地址偏移量;块元素信息为对应元素在块中的有效值和每行的索引,因此块内索引只需要更少的数据位宽。

4.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的DU,根据稀疏矩阵块的索引,通过多路选择器从稠密矩阵块中选择相应的元素,即有效元素并输出至PU阵列。

5.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的矩阵加载单元包括:寄存器、矩阵A元素存储单元、矩阵A索引存储单元和矩阵B存储单元,其中:寄存器记录整个计算任务的信息,矩阵A元素存储单元存储稀疏矩阵A的元素信息供PU阵列执行乘法计算处理,矩阵A索引存储单元存储稀疏矩阵A的索引信息供DU选择稠密矩阵B的有效元素,矩阵B存储单元存储稠密矩阵B的元素供DU选择。

6.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的解码单元包括:输入寄存器、多路选择器和输出寄存器,其中:输入寄存器存储矩阵B输入的元素,多路选择器根据稀疏矩阵A的索引信息,在输入寄存器中选择相应的若干个有效元素,输出寄存器存储多路选择器的输出结果。

7.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的矩阵存储单元包括:输入寄存器、累加存储单元和加法器,其中:输入寄存器存储PU输出的计算结果,累加存储单元上存储着之前计算得到的部分结果,根据输入寄存器中元素的对应位置读出相应的元素,加法器根据输入寄存器的元素和累加存储单元读出的元素做加法操作,然后将结果写入到累加存储单元相应的位置。

...

【技术特征摘要】

1.一种支持非结构化稀疏矩阵计算的张量核架构系统,其特征在于,包括:矩阵加载单元、解码单元、处理单元阵列和矩阵存储单元,其中:mlu从hbm中加载稠密矩阵和稀疏矩阵的数据到片上后,将相应的数据输出到du上,du根据解码后的稀疏矩阵块的索引,选择稠密矩阵块中的对应元素,即有效元素并输出至pu阵列,pu阵列中的各个pe数组完成所有计算后,将中间结果存储在msu中,msu将pu阵列的中间结果累加到相应的片上缓冲区。

2.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的加载矩阵到片上缓冲区,包括非结构化稀疏矩阵和稠密矩阵,其中:粗粒度层面上的非结构化稀疏矩阵通过多个稀疏度不同的细粒度结构化块表示。

3.根据权利要求2所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的细粒度结构化块中包含块信息和块元素信息,其中:块信息为每个块的类型和块元素在内存中的地址偏移量;块元素信息为对应元素在块中的有效值和每行的索引,因此块内索引只需要更少的数据位宽。

4.根据权利要求1所述的支持非结构化稀疏矩阵计算的张量核架构系统,其特征是,所述的du,根据稀疏矩阵块的索引,通过多路选择器从稠密矩阵块中选择相应的元素,即有效元素并输...

【专利技术属性】
技术研发人员:戴国浩
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1