System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理装置、方法、介质及计算设备制造方法及图纸_技高网

一种数据处理装置、方法、介质及计算设备制造方法及图纸

技术编号:42062591 阅读:10 留言:0更新日期:2024-07-19 16:47
本申请公开一种数据处理装置、方法、介质及计算设备,涉及数据处理领域。该装置包括:第一状态机,接收稀疏降维指令,按照预设条件分轮次向内存模块发送第一读取请求;第二状态机用于接收各轮次的第一读取请求所回流的原始向量数据并按轮次向内存模块发送第二读取请求;第三状态机用于接收各轮次第二读取请求所回流的累积向量数据;乘加器用于将每个轮次中的原始向量数据和累积向量数据进行累加,得到每个轮次的累加结果;第四状态机用于接收每个轮次的累加结果,并将每个轮次的累加结果写入内存模块。本申请提出的数据处理装置,通过四个状态机和乘加器,将稀疏降维计算转换成多次累加的过程,无需乘法计算,运算量较小、速度较快、效率较高。

【技术实现步骤摘要】

本申请涉及计算机中的数据处理领域,特别涉及一种数据处理装置、方法、介质及计算设备


技术介绍

1、现有技术中,在面对数据稀疏降维时,通用会采用fpga (field programmablegate array 专用集成电路里面一种半定制化的电路)或者集成电路来进行。

2、其中,fpga通常采用 csr (compressed sparse row稀疏矩阵行列压缩)的方法来进行稀疏矩阵非零格式的存储,但是csr的方法主要依赖矩阵矢量乘法,稀疏降维运算量较大、速度较慢、效率较低,例如,申请号为202010535432.8,专利技术名称为基于稀疏矩阵乘法的fpga存储方法、计算方法、模块和fpga模板的专利申请,以及,申请号为:201911160359.4,专利技术名称为:用于循环神经网络自然语言的稀疏矩阵乘法加速器。

3、集成电路主要基于图像处理单元进行,使用图像处理单元进行时通常需要使用解释性语言(如 python)。而解释性语言的内存自动管理会出现不可预测的性能问题,无法做到平衡的训练负载,第三方库也很难榨干硬件的全部性能,解释性语言所掩盖的细节也会导致维护和调试困难,而且不同的训练可能需要不同时期、版本的库,或者不同的库,容易造成编译环境污染,为模型训练所依赖的环境的管理和隔离造成困难。相比较于使用专用的硬件加速架构和环境,集成电路会浪费更多时间、资源和管理成本。


技术实现思路

1、本申请的主要目的是提出一种数据处理装置、方法、介质及计算设备,旨在解决目前基于fpga或者集成电路进行稀疏降维运算时,运算量量较大、速度较慢、效率较低的问题。

2、为实现上述目的,本申请提出一种数据处理装置,包括:第一状态机、第二状态机、第三状态机、第四状态机和乘加器;

3、所述第一状态机被配置为:响应于接收到稀疏降维指令,按照预设条件分轮次向内存模块发送第一读取请求,第一读取请求请求读取内存模块各内存池中的原始向量数据;

4、所述第二状态机被配置为:接收各轮次的第一读取请求所回流的原始向量数据;按轮次向所述内存模块发送第二读取请求,第二读取请求请求读取当前轮次所回流的原始向量数据所在内存池的累积向量数据;

5、所述第三状态机被配置为:接收各轮次第二读取请求所回流的累积向量数据;

6、所述乘加器被配置为:将每个轮次中的原始向量数据和累积向量数据进行累加,得到每个轮次的累加结果;

7、所述第四状态机被配置为:接收每个轮次的累加结果,并将每个轮次的累加结果写入所述内存模块。

8、在本申请实施例中,所述预设条件包括:

9、每个轮次的第一读取请求均按照预设带宽,请求读取所述内存模块各内存池中的原始向量数据;

10、相邻轮次的第一读取请求所请求读取的内存池在内存模块中相邻;

11、任一第一读取请求所请求读取的内存池跨行时,基于上一轮次的第一读取请求所请求读取的内存的池深度加一。

12、在本申请实施例中,所述预设带宽为两个单位带宽。

13、在本申请实施例中,所述第一状态机还被配置为:解析所述稀疏降维指令,得到待处理数据的内存地址、累积缓存地址、累积向量地址、累积向量独热位图。

14、在本申请实施例中,所述第一状态机还被配置为:

15、将所述累积缓存地址、所述累积向量地址和所述累积向量独热位图发送至所述第二状态机;

16、将所述累积缓存地址、所述累积向量独热位图发送至所述第三状态机;

17、将所述累积向量地址发送至所述第四状态机。

18、在本申请实施例中,所述第二状态机还被配置为:

19、基于所述累积缓存地址、所述累积向量独热位图,将每个轮次的原始向量数据发送至所述乘加器。

20、在本申请实施例中,所述第三状态机还被配置为:

21、基于所述累积缓存地址、所述累积向量独热位图,将每个轮次的累积向量数据发送至所述乘加器。

22、在本申请实施例中,所述第四状态机还被配置为:基于所述累积向量地址,将每个轮次的累加结果写入每个轮次所回流的原始向量数据在所述内存模块中内存池对应的累积向量位置。

23、在本申请实施例中,所述第二状态机被配置为基于如下方法确定下一数据列表中数据头信息的数码:

24、若所述第二状态机当前接收到的原始向量数据所在的数据列表的数据头信息的数码为0,且当前接收到的原始向量数据所在的数据列表中的非头数据个数为偶数,则下一数据列表的数据头信息的数码为1;

25、若所述第二状态机当前接收到的原始向量数据所在的数据列表的数据头信息的数码为0,且当前接收到的原始向量数据所在的数据列表中的非头数据个数为奇数,则下一数据列表的数据头信息的数码为0;

26、若所述第二状态机当前接收到的原始向量数据所在的数据列表的数据头信息的数码为1,且当前接收到的原始向量数据所在的数据列表中的非头数据个数为偶数,则下一数据列表的数据头信息的数码为0;

27、若所述第二状态机当前接收到的原始向量数据所在的数据列表的数据头信息的数码为1,且当前接收到的原始向量数据所在的数据列表中的非头数据个数为奇数,则下一数据列表的数据头信息的数码为1;

28、其中,所述数码包括0和1,0代表本轮次接收的两个原始向量数据中位于内存模块中靠前的数据,1代表本轮次接收的两个原始向量数据中位于内存模块中靠后的数据。

29、在本申请实施例中,所述第二状态机被配置为基于如下方法确定接收下一数据头信息所需轮次:

30、若所述第二状态机当前轮次接收到的数据头信息的数码为0,且当前轮次接收到的数据头信息所在的数据列表中的非头数据个数为偶数,则接收下一数据头信息所需轮次等于当前数据列表中的非头数据个数除以2;

31、若所述第二状态机当前轮次接收到的数据头信息的数码为0,且当前轮次接收到的数据头信息所在的数据列表中的非头数据个数为奇数,则接收下一数据头信息所需轮次等于当前数据列表中的非头数据个数减1后除以2;

32、若所述第二状态机当前轮次接收到的数据头信息的数码为1,且当前轮次接收到的数据头信息所在的数据列表中的非头数据个数为偶数,则接收下一数据头所需轮次等于当前数据列表中的非头数据个数除以2后再加一;

33、若所述第二状态机当前轮次接收到的数据头信息的数码为1,且当前轮次接收到的数据头信息所在的数据列表中的非头数据个数为奇数,则接收下一数据头所需轮次等于当前数据列表中的非头数据个数加1后除以2。

34、在本申请实施例中,所述第二状态机还被配置为:

35、响应于接收到的原始向量数据为全零数据头信息,向所述第一状态机发送停止阅读信号;

36、所述第一状态机还被配置为:

37、响应于接收到所述停止阅读信号,停止发送第一读取请求。

38、本申请还提出一种本文档来自技高网...

【技术保护点】

1.一种数据处理装置,包括:第一状态机、第二状态机、第三状态机、第四状态机和乘加器;

2.如权利要求1所述的数据处理装置,其中,所述预设条件包括:

3.如权利要求2所述的数据处理装置,其中,所述预设带宽为两个单位带宽。

4.如权利要求1所述的数据处理装置,所述第一状态机还被配置为:解析所述稀疏降维指令,得到待处理数据的内存地址、累积缓存地址、累积向量地址、累积向量独热位图。

5.如权利要求4所述的数据处理装置,所述第一状态机还被配置为:

6.如权利要求5所述的数据处理装置,所述第二状态机还被配置为:

7.如权利要求5所述的数据处理装置,所述第三状态机还被配置为:

8.如权利要求5所述数据处理装置, 所述第四状态机还被配置为:基于所述累积向量地址,将每个轮次的累加结果写入每个轮次所回流的原始向量数据在所述内存模块中内存池对应的累积向量位置。

9.如权利要求3所述的数据处理装置,所述第二状态机被配置为基于如下方法确定下一数据列表中数据头信息的数码:

10.如权利要求3所述的数据处理装置,所述第二状态机被配置为基于如下方法确定接收下一数据头信息所需轮次:

11.如权利要求1所述的数据处理装置,所述第二状态机还被配置为:

12.一种数据处理方法,运用于如权利要求1-11任一项所述的数据处理装置,所述数据处理方法包括:

13.如权利要求12所述的数据处理方法,其中,所述预设条件包括:

14.如权利要求13所述的数据处理方法,其中,所述预设带宽为两个单位带宽。

15.如权利要求12所述的数据处理方法,其中, 接收到所述稀疏降维指令后,所述数据处理方法还包括:

16.如权利要求15所述的数据处理方法,得到所述内存地址、累积缓存地址、累积向量地址、累积向量独热位图后,所述数据处理方法还包括:

17.如权利要求16所述的数据处理方法,其中,所述第二状态机接收到每个轮次的原始向量数据后,所述数据处理方法还包括:

18.如权利要求16所述的数据处理方法,其中,所述第三状态机接收到每个轮次的累积向量数据后,所述数据处理方法还包括:

19.如权利要求16所述数据处理方法,其中,所述将每个轮次的累加结果写入所述内存模块,包括:

20.如权利要求14所述的数据处理方法,还包括:通过如下方法确定下一数据列表中数据头信息的数码:

21.如权利要求20所述的数据处理方法,还包括:基于如下方法确定所述第二状态机接收下一数据头信息所需轮次:

22.如权利要求12所述的数据处理方法,还包括:

23.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求12-22任一项所述的方法。

24.一种计算设备,包括如权利要求1-11任一项所述的数据处理装置,所述数据处理装置上存储有计算机程序,所述数据处理装置执行所述计算机程序时实现如权利要求12-22中任一项所述的数据处理方法。

...

【技术特征摘要】

1.一种数据处理装置,包括:第一状态机、第二状态机、第三状态机、第四状态机和乘加器;

2.如权利要求1所述的数据处理装置,其中,所述预设条件包括:

3.如权利要求2所述的数据处理装置,其中,所述预设带宽为两个单位带宽。

4.如权利要求1所述的数据处理装置,所述第一状态机还被配置为:解析所述稀疏降维指令,得到待处理数据的内存地址、累积缓存地址、累积向量地址、累积向量独热位图。

5.如权利要求4所述的数据处理装置,所述第一状态机还被配置为:

6.如权利要求5所述的数据处理装置,所述第二状态机还被配置为:

7.如权利要求5所述的数据处理装置,所述第三状态机还被配置为:

8.如权利要求5所述数据处理装置, 所述第四状态机还被配置为:基于所述累积向量地址,将每个轮次的累加结果写入每个轮次所回流的原始向量数据在所述内存模块中内存池对应的累积向量位置。

9.如权利要求3所述的数据处理装置,所述第二状态机被配置为基于如下方法确定下一数据列表中数据头信息的数码:

10.如权利要求3所述的数据处理装置,所述第二状态机被配置为基于如下方法确定接收下一数据头信息所需轮次:

11.如权利要求1所述的数据处理装置,所述第二状态机还被配置为:

12.一种数据处理方法,运用于如权利要求1-11任一项所述的数据处理装置,所述数据处理方法包括:

13.如权利要求12所述的数据处理方法,其中,所述预设条件包括:<...

【专利技术属性】
技术研发人员:杨龚轶凡郑瀚寻闯小明宋皓龙
申请(专利权)人:中昊芯英杭州科技有限公司
类型:发明
国别省市:

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

1