支持多种卷积神经网络加速的存储器访问方法及系统技术方案

技术编号:28224457 阅读:17 留言:0更新日期:2021-04-28 09:55
本发明专利技术提供了一种支持多种卷积神经网络加速的存储器访问方法,存储器访问方法能够实施于可重构处理器。可重构处理器中设置:NPU神经网络处理器,其能够执行涉及算子的多个计算指令。各计算指令对应一种算子调用顺序。DDR存储器。MDMA片外存储器访问单元,其设置于NPU神经网络处理器的数据访问端。RAM随机存储器。以及SDMA片内存储器访问单元,其设置于NPU神经网络处理器的数据访问端。本发明专利技术根据当前计算指令调度、排列各存储单元,从而可以有效提高卷积神经网络加速器的计算效率和内存使用效率。同时,本发明专利技术了提供了一种加速可重构处理器运行的稀疏化数据处理系统。器运行的稀疏化数据处理系统。器运行的稀疏化数据处理系统。

【技术实现步骤摘要】
支持多种卷积神经网络加速的存储器访问方法及系统


[0001]本专利技术涉及人工智能领域领域,具体应用于多种卷积神经网络的加速计算。涉及人工智能数据计算中数据的传输、形态转换的卷积神经网络的加速。本专利技术具体涉及支持多种卷积神经网络加速的存储器访问方法及系统。

技术介绍

[0002]人工智能领域中神经网络是核心算法,是在人工智能领域中应用最为广泛的算法。广泛应用于安防、自动驾驶、计算机视觉等领域。在人工智能领域中大量使用深度学习网络实现卷积计算,而在卷积计算过程中将大量调用处理器的存储及系统资源,从而卷积计算的速度及可靠性,受限于存储资源、处理资源等系统资源的限制。现有技术中多采用扩容硬件存储及计算单元的方式解决上一问题。但是,因为上述问题其还涉及多方面因素,因此,无法根本解决上述问题。

技术实现思路

[0003]本专利技术的目的是提供支持多种卷积神经网络加速的存储器访问方法,根据当前计算指令调度、排列各存储单元,从而可以有效提高卷积神经网络加速器的计算效率和内存使用效率。
[0004]本专利技术的另一个目的是提供加速可重构处理器运行的稀疏化数据处理系统,通过对神经网络中的数据进行传输、以及数据结构形态转变。本专利技术可以有效提高卷积神经网络加速器的计算效率和内存使用效率。
[0005]本专利技术的第一个方面,提供了支持多种卷积神经网络加速的存储器访问方法,存储器访问方法能够实施于可重构处理器。可重构处理器中设置:
[0006]一个NPU神经网络处理器,其能够执行涉及算子的多个计算指令。各计算指令对应一种算子调用顺序。
[0007]一个DDR存储器。
[0008]一个MDMA片外存储器访问单元,其设置于NPU神经网络处理器的数据访问端。NPU神经网络处理器通过MDMA片外存储器访问单元读取操作或写操作DDR存储器。
[0009]一个RAM随机存储器。以及
[0010]一个SDMA片内存储器访问单元,其设置于NPU神经网络处理器的数据访问端。
[0011]支持多种卷积神经网络加速的存储器访问方法包括:
[0012]步骤S101,NPU神经网络处理器根据当前计算指令向SDMA片内存储器访问单元发送读取操作指令。读取操作指令中包括:当前算子数据的读取地址和当前计算指令类型。
[0013]步骤S102,SDMA片内存储器访问单元根据算子数据的读取地址从RAM随机存储器中读取当前算子数据的数据存储区域。
[0014]步骤S103,SDMA片内存储器访问单元根据当前计算指令类型获取当前算子调用顺序。根据当前算子调用顺序将当前算子数据在存储区域内重新排序。以使NPU神经网络处理
器执行当前计算指令时,能够通过SDMA片内存储器访问单元,从RAM随机存储器中按调用顺序连续读取算子数据。
[0015]在本专利技术支持多种卷积神经网络加速的存储器访问方法的一种实施方式中,步骤S103中包括:
[0016]步骤S1031

1,SDMA片内存储器访问单元根据当前算子调用顺序及当前算子数据的存储区域获取待移动数据量。
[0017]步骤S1031

2,根据待移动数据量获取读取操作指令的搬运位数。若搬运位数匹配设定搬运位数或设定搬运位数的整数倍,则通过设定搬运位数匹配的读取操作搬运待移动数据。获取重排后的当前算子数据存储区域。
[0018]在本专利技术支持多种卷积神经网络加速的存储器访问方法的另一种实施方式中,设定搬运位数包括8位或1位。
[0019]在本专利技术支持多种卷积神经网络加速的存储器访问方法的又一种实施方式中,步骤S101中还包括:
[0020]步骤S1011,NPU神经网络处理器根据当前计算指令向SDMA片内存储器访问单元发送写操作指令。写操作指令中包括:当前算子写入数据和当前计算指令类型。
[0021]步骤S102中还包括:
[0022]步骤S1021,SDMA片内存储器访问单元根据算子写入数据获取各算子的数据写入区域。及当前算子调用顺序获取当前算子写入区域。
[0023]步骤S103中还包括:
[0024]步骤S1031,SDMA片内存储器访问单元根据当前计算指令类型获取当前算子写入顺序。根据当前算子写入顺序对当前算子数据的写入区域重新排序,获取重排后的当前算子数据写入区域。以使NPU神经网络处理器写入当前计算指令的算子数据时,能够通过SDMA片内存储器访问单元,根据当前算子的写入顺序顺序写入RAM随机存储器中。
[0025]在本专利技术支持多种卷积神经网络加速的存储器访问方法的再一种实施方式中,步骤S103中包括:
[0026]步骤S1032

1,SDMA片内存储器访问单元根据当前算子写入顺序及当前算子数据的写入区域获取待移动写入数据量。
[0027]步骤S1032

2,根据待移动写入数据量获取读取操作指令的移动位数。若移动位数匹配设定移动位数或设定移动位数的整数倍,则通过设定移动位数匹配的写入操作移动待移动数据。获取重排后的当前算子数据写入区域。
[0028]在本专利技术支持多种卷积神经网络加速的存储器访问方法的再一种实施方式中,移动搬运位数包括8位或1位。
[0029]在本专利技术支持多种卷积神经网络加速的存储器访问方法的再一种实施方式中,多个计算指令包括:数据顺序读取类指令、数据同时读取类指令及矩阵转置类指令。
[0030]本专利技术的第二个方面,提供支持多种卷积神经网络加速的存储器访问系统,存储器访问系统能够实施于可重构处理器。可重构处理器中设置:
[0031]一个NPU神经网络处理器,其能够执行涉及算子的多个计算指令。各计算指令对应一种算子调用顺序。
[0032]一个DDR存储器。
[0033]一个MDMA片外存储器访问单元,其设置于NPU神经网络处理器的数据访问端。NPU神经网络处理器通过MDMA片外存储器访问单元读取操作或写操作DDR存储器。
[0034]一个RAM随机存储器。以及
[0035]一个SDMA片内存储器访问单元,其设置于NPU神经网络处理器的数据访问端。
[0036]NPU神经网络处理器根据当前计算指令向SDMA片内存储器访问单元发送读取操作指令。读取操作指令中包括:当前算子数据的读取地址和当前计算指令类型。
[0037]SDMA片内存储器访问单元根据算子数据的读取地址从RAM随机存储器中读取当前算子数据的数据存储区域。
[0038]SDMA片内存储器访问单元根据当前计算指令类型获取当前算子调用顺序。根据当前算子调用顺序将当前算子数据在存储区域内重新排序。以使NPU神经网络处理器执行当前计算指令时,能够通过SDMA片内存储器访问单元,从RAM随机存储器中按调用顺序连续读取算子数据。
[0039]在本专利技术支持多种卷积神经网络加速的存储器访问系统的再一种实施方式中,系统还包括:
[0040]N本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.支持多种卷积神经网络加速的存储器访问方法,其特征在于,所述存储器访问方法能够实施于可重构处理器;所述可重构处理器中设置:一个NPU神经网络处理器,其能够执行涉及算子的多个计算指令;各计算指令对应一种算子调用顺序;一个DDR存储器;一个MDMA片外存储器访问单元,其设置于所述NPU神经网络处理器的数据访问端;所述NPU神经网络处理器通过所述MDMA片外存储器访问单元读取操作或写操作所述DDR存储器;一个RAM随机存储器;以及一个SDMA片内存储器访问单元,其设置于所述NPU神经网络处理器的数据访问端;所述支持多种卷积神经网络加速的存储器访问方法包括:步骤S101,所述NPU神经网络处理器根据当前计算指令向所述SDMA片内存储器访问单元发送读取操作指令;所述读取操作指令中包括:当前算子数据的读取地址和当前计算指令类型;步骤S102,所述SDMA片内存储器访问单元根据所述算子数据的读取地址从所述RAM随机存储器中读取当前算子数据的数据存储区域;步骤S103,所述SDMA片内存储器访问单元根据所述当前计算指令类型获取当前算子调用顺序;根据当前算子调用顺序将当前算子数据在存储区域内重新排序;以使所述NPU神经网络处理器执行所述当前计算指令时,能够通过所述SDMA片内存储器访问单元,从所述RAM随机存储器中按调用顺序连续读取所述算子数据。2.根据权利要求1所述的存储器访问方法,其特征在于,所述步骤S103中包括:步骤S1031

1,所述SDMA片内存储器访问单元根据所述当前算子调用顺序及所述当前算子数据的存储区域获取待移动数据量;步骤S1031

2,根据所述待移动数据量获取读取操作指令的搬运位数;若所述搬运位数匹配设定搬运位数或所述设定搬运位数的整数倍,则通过设定搬运位数匹配的读取操作搬运待移动数据;获取重排后的当前算子数据存储区域。3.根据权利要求2所述的存储器访问方法,其特征在于,所述设定搬运位数包括8位或1位。4.根据权利要求1或2所述的存储器访问方法,其特征在于,所述步骤S101中还包括:步骤S1011,所述NPU神经网络处理器根据当前计算指令向所述SDMA片内存储器访问单元发送写操作指令;所述写操作指令中包括:当前算子写入数据和当前计算指令类型;所述步骤S102中还包括:步骤S1021,所述SDMA片内存储器访问单元根据所述算子写入数据获取各算子的数据写入区域;及所述当前算子调用顺序获取当前算子写入区域;所述步骤S103中还包括:步骤S1031,所述SDMA片内存储器访问单元根据所述当前计算指令类型获取当前算子写入顺序;根据所述当前算子写入顺序对所述当前算子数据的写入区域重新排序,获取重排后的当前算子数据写入区域;以使所述NPU神经网络处理器写入所述当前计算指令的算子数据时,能够通过所述SDMA片内存储器访问单元,根据当前算子的写入顺序顺序写入所述RAM随机存储器中。
5.根据权利要求1所述的存储器访问方法,其特征在于,所述步骤S103中包括:步骤S1032

1,所述SDMA片内存储器访问单元根据所述当前算子写入顺序及所述当前算子数据的写入区域获取待移动写入数据量;步骤S1032

2,根据所述待移动写入数据量获取读取操作指令的...

【专利技术属性】
技术研发人员:段国强唐士斌欧阳鹏
申请(专利权)人:北京清微智能科技有限公司
类型:发明
国别省市:

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

1