一种流水处理方法、系统和忆阻器阵列技术方案

技术编号:30407134 阅读:52 留言:0更新日期:2021-10-20 11:15
本发明专利技术实施例提供了一种流水处理方法、系统和忆阻器阵列,所述方法在神经网络各个网络层对忆阻器阵列的初始映射并行度下,确定各个网络层的初始计算周期;根据各个网络层的初始计算周期中的最长计算周期,利用当前可用的忆阻器阵列对各个网络层的初始映射并行度进行迭代更新,直到可用的忆阻器阵列的数量为零,和/或在迭代更新后的映射并行度下,最长计算周期对应的目标网络层出现置换;根据迭代更新结束时的映射并行度,生成神经网络在忆阻器阵列上的流水配置。本发明专利技术实施例基于神经网络在忆阻器阵列上计算的特性,通过降低最大的单级流水时延,减少流水空闲比例,提高流水线吞吐率,进而大幅提高硬件的运行速度。进而大幅提高硬件的运行速度。进而大幅提高硬件的运行速度。

【技术实现步骤摘要】
一种流水处理方法、系统和忆阻器阵列


[0001]本专利技术涉及信息
,特别是涉及一种流水处理方法、一种流水处理系统、一种忆阻器阵列。

技术介绍

[0002]忆阻器的非易失记忆特性使其具备数据存储能力,而其电导状态可调节的能力使其具备数值计算能力,二者相结合使忆阻器可在同一位置实现计算与存储的融合,实现“存算一体”,从而有望突破传统冯诺依曼计算架构的限制,具有广阔的应用前景。
[0003]相关技术提出使用由忆阻器单元和金属导线组成的忆阻器阵列来实现向量和矩阵乘法,通过对忆阻器单元的电导和通断进行设置,由忆阻器阵列输出对应的电流值,模拟数值计算的过程和结果。进一步地,忆阻器阵列将输出的电流值作为神经网络在计算过程中的输出结果,即可以完成神经网络的映射计算。
[0004]相比较于只能计算不能存储的传统处理器来说,忆阻器阵列虽然不再需要不断在计算单元与存储单元之间来回的搬运数据,但是受到忆阻器阵列的结构特性和神经网络计算原理的制约,神经网络在将计算交由忆阻器阵列执行时,存在硬件资源的时间利用率不高的问题。
[0005]相关技术以流水线的形式完成神经网络在忆阻器阵列上的计算,尽管这样做的计算效率相较于传统的无流水处理的计算方式有所提高,但运行过程中各级流水中仍然存在大量的资源闲置,硬件资源的时间利用率还有提升的控制。这样的情况使得神经网络在忆阻器阵列上的计算吞吐率受到限制,造成忆阻器阵列卷积计算性能的低下,严重阻碍了忆阻器阵列计算在各领域的发展和应用。因此,目前神经网络在忆阻器阵列上计算的资源利用率和吞吐率亟待提高。

技术实现思路

[0006]鉴于上述问题,本专利技术实施例提出了一种克服上述问题或者至少部分地解决上述问题的一种流水处理方法、系统和忆阻器阵列。
[0007]为了解决上述问题,本专利技术实施例提供了一种流水处理方法,所述方法包括:
[0008]初始化待运算的神经网络各个网络层对忆阻器阵列的映射并行度,确定所述各个网络层的初始映射并行度;其中,所述初始映射并行度用于表征各个网络层所映射的忆阻器阵列的数量的初始比例;
[0009]确定在所述初始映射并行度下,所述各个网络层的初始计算周期;
[0010]根据所述各个网络层的初始计算周期中的最长计算周期,利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新,直到可用的忆阻器阵列的数量为零,和/或在迭代更新后的映射并行度下,各个网络层的计算周期中的最长计算周期对应的目标网络层出现置换;
[0011]根据迭代更新结束时的映射并行度,生成所述神经网络在所述忆阻器阵列上的流
水配置,所述流水配置用于指示所述神经网络的各个网络层在所述忆阻器阵列上的运行。
[0012]可选的,确定在所述初始映射并行度下,所述各个网络层的初始计算周期,包括:
[0013]根据各个网络层的参数、输入到所述神经网络中的输入信息、所述忆阻器阵列的硬件配置参数,确定在所述初始映射并行度下,所述各个网络层的初始计算周期;
[0014]其中,所述神经网络各个网络层的参数,至少包括以下其中一者:各个网络层的卷积核大小、所述神经网络的配置参数、卷积核的移动步长、padding参数;
[0015]所述忆阻器阵列的硬件配置参数,至少包括以下其中一者:所述神经网络的权值在所述忆阻器阵列上的量化参数、所述忆阻器阵列的尺寸大小、忆阻器阵列总数量。
[0016]可选的,在利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新之前,确定可用的忆阻器阵列数量,包括:
[0017]确定初始可用的忆阻器阵列数量、以及所述神经网络的权值在所述忆阻器阵列上的量化参数,其中,所述初始可用的忆阻器阵列数量表征神经网络能够调用的忆阻器阵列硬件资源量;
[0018]获得所述量化参数不大于所述初始可用的忆阻器阵列数量的最大整数倍数;
[0019]将所述最大整数倍数确定为可用的忆阻器阵列的数量,其中,所述可用的忆阻器阵列数量表征在所述量化参数下,神经网络实际可利用的忆阻器阵列硬件资源量。
[0020]可选的,根据所述各个网络层的初始计算周期中的最长计算周期,利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新,包括:
[0021]在第n次迭代更新时,在计算周期最长的目标网络层的第n

1次所获得的映射并行度上,按照预设步长增加所述目标网络层的映射并行度,以实现对各个网络层的初始映射并行度的迭代更新;
[0022]确定第n次更新后可用的忆阻器阵列的数量以及所述各个网络层的计算周期;
[0023]在当前可用的忆阻器阵列不为零或在计算周期最长的网络层仍为所述目标网络层的情况下,重复以上步骤,直到当前可用的忆阻器阵列为零,并且,计算周期最长的网络层出现置换。
[0024]可选的,根据迭代更新结束时的映射并行度,生成所述神经网络在所述忆阻器阵列上的流水配置,包括:
[0025]根据所述神经网络的权值在所述忆阻器阵列上的量化参数、以及迭代更新结束时的映射并行度,确定所述各个网络层映射的忆阻器阵列数量;
[0026]根据所述各个网络层的流水线运行顺序以及所述各个网络层映射的忆阻器阵列数,自适应生成所述神经网络在所述忆阻器阵列上的流水配置;
[0027]所述方法还包括:
[0028]根据所述流水配置,控制相应数量的忆阻器阵列根据各个网络层之间的输入输出关系,完成所述神经网络的各个网络层在所述忆阻器阵列上的流水线运行。
[0029]可选的,在生成所述神经网络在所述忆阻器阵列上的流水配置之后,所述方法还包括:
[0030]在所述迭代更新结束时的映射并行度下,确定所述各个网络层的计算周期;
[0031]获得所述最长计算周期与所述各个网络层的计算周期的差值,将所述差值与所述最长计算周期的比值作为所述各个网络层对应的忆阻器阵列的周期空闲比例;
[0032]根据所述周期空闲比例,预测所述忆阻器阵列在所述迭代更新结束时的映射并行度下运行所述神经网络的效率。
[0033]可选的,在生成所述神经网络在所述忆阻器阵列上的流水配置之后,所述方法还包括:
[0034]根据以下公式计算所述流水配置对应的流水线的吞吐率:
[0035][0036]根据所述流水线的吞吐率,预测所述忆阻器阵列在所述迭代更新结束时的流水配置下运行所述神经网络的效率;
[0037]其中,P
i
是所述各个网络层中第i层的映射并行度;K
i
是所述各个网络层中第i层的卷积核大小;M
i
是所述各个网络层中第i层的输入通道数;N是所述网络层的总层数;R
i
是所述各个网络层中第i层对应的忆阻器阵列的周期利用率;T是所述流水配置对应的流水线的吞吐率。
[0038]本专利技术实施例还提供了一种流水处理系统,所述系统包括:
[0039]初始化单元,用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流水处理方法,其特征在于,所述方法包括:初始化待运算的神经网络各个网络层对忆阻器阵列的映射并行度,确定所述各个网络层的初始映射并行度;其中,所述初始映射并行度用于表征各个网络层所映射的忆阻器阵列的数量的初始比例;确定在所述初始映射并行度下,所述各个网络层的初始计算周期;根据所述各个网络层的初始计算周期中的最长计算周期,利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新,直到可用的忆阻器阵列的数量为零,和/或在迭代更新后的映射并行度下,各个网络层的计算周期中的最长计算周期对应的目标网络层出现置换;根据迭代更新结束时的映射并行度,生成所述神经网络在所述忆阻器阵列上的流水配置,所述流水配置用于指示所述神经网络的各个网络层在所述忆阻器阵列上的运行。2.根据权利要求1所述的方法,其特征在于,确定在所述初始映射并行度下,所述各个网络层的初始计算周期,包括:根据各个网络层的参数、输入到所述神经网络中的输入信息、所述忆阻器阵列的硬件配置参数,确定在所述初始映射并行度下,所述各个网络层的初始计算周期;其中,所述神经网络各个网络层的参数,至少包括以下其中一者:各个网络层的卷积核大小、所述神经网络的配置参数、卷积核的移动步长、padding参数;所述忆阻器阵列的硬件配置参数,至少包括以下其中一者:所述神经网络的权值在所述忆阻器阵列上的量化参数、所述忆阻器阵列的尺寸大小、忆阻器阵列总数量。3.根据权利要求1所述的方法,其特征在于,在利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新之前,确定可用的忆阻器阵列数量,包括:确定初始可用的忆阻器阵列数量、以及所述神经网络的权值在所述忆阻器阵列上的量化参数,其中,所述初始可用的忆阻器阵列数量表征神经网络能够调用的忆阻器阵列硬件资源量;获得所述量化参数不大于所述初始可用的忆阻器阵列数量的最大整数倍数;将所述最大整数倍数确定为可用的忆阻器阵列的数量,其中,所述可用的忆阻器阵列数量表征在所述量化参数下,神经网络实际可利用的忆阻器阵列硬件资源量。4.根据权利要求1所述的方法,其特征在于,根据所述各个网络层的初始计算周期中的最长计算周期,利用当前可用的忆阻器阵列对所述各个网络层的初始映射并行度进行迭代更新,包括:在第n次迭代更新时,在计算周期最长的目标网络层的第n

1次所获得的映射并行度上,按照预设步长增加所述目标网络层的映射并行度,以实现对各个网络层的初始映射并行度的迭代更新;确定第n次更新后可用的忆阻器阵列的数量以及所述各个网络层的计算周期;在当前可用的忆阻器阵列不为零或在计算周期最长的网络层仍为所述目标网络层的情况下,重复以上步骤,直到当前可用的忆阻器阵列为零,并且,计算周期最长的网络层出现置换。5.根据权利要求1所述的方法,其特征在于,根据迭代更新结束时的映射并行度,生成所述神经网...

【专利技术属性】
技术研发人员:梁峰陈燕于振华梁辉卞鼐张洁李佩蓉张国和
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1