降低存储器带宽的方法技术

技术编号:36537881 阅读:16 留言:0更新日期:2023-02-01 16:27
本申请实施例公开了一种降低存储器带宽的方法。该方法包括:根据第一存储器的容量决定卷积运算时的一区块数据的数据尺寸;根据第二存储器的容量以及多个输出特征图数据中的最后一个输出特征图数据的一第一部份数据的数据量决定多级运算的级数以及用来产生多个输出特征图数据中的剩余数据中每一者的至少一第二部分数据的所需数据量,其中在执行多级运算的过程中,存储器管理电路将第一部份数据与至少一第二部分数据储存于第二存储器;以及依据区块数据的数据尺寸、多级运算的级数、第一部份数据的数据量以及至少一第二部分数据的数据量产生一预定编译文件,其中存储器管理电路基于预定编译文件存取动态随机存储器、第一存储器。一存储器。一存储器。

【技术实现步骤摘要】
降低存储器带宽的方法
[0001]本申请是2021年11月29日提交中国专利局、申请号为202111433001.1、专利技术名称为“智能处理器装置与降低存储器带宽的方法”的分案申请,其全部内容通过引用结合在本申请中。


[0002]本申请涉及智能处理器
,具体涉及一种降低存储器带宽的方法。

技术介绍

[0003]现有的神经网络模型通常包含依序执行的多层卷积运算。如图1所示,在现有技术中,动态随机存取存储器中的输入特征图数据会被拆分为多个区块(tile)数据(以虚线绘制)。在第1层卷积运算中,处理器会依序获取并处理这些区块数据以产生新的区块数据,并将新的区块数据依序写回至动态随机存取存储器。接着,在执行第2层卷积运算时,处理器将在第1层卷积运算所获得的多个区块数据自动态随机存取存储器依序读出并进行处理,以产生新的区块数据,并将新的区块数据依序写回至动态随机存取存储器,依此类推,直到执行完所有层的卷积运算。换言之,在现有技术中,每一层卷积运算所输出的数据会被当作下一层的输入数据,故需对动态随机存取存储器反复进行读取与写入。如此一来,在现有技术中,动态随机存取存储器需具备有较大的存储器带宽,才足以执行多层卷积运算。

技术实现思路

[0004]本申请实施例提供一种降低存储器带宽的方法,目的在于降低存储器的带宽需求。
[0005]在一些实施例中,降低存储器带宽的方法可应用于执行一卷积神经网络模型的一智能型处理器装置,其中该智能型处理器装置包含一第一存储器、一存储器管理电路、一第二存储器以及一卷积运算电路,且该降低存储器带宽的方法包含下列操作:根据该第一存储器的容量决定该卷积运算电路执行一卷积运算时储存于该第一存储器的一区块数据的数据尺寸,其中该存储器管理电路自一动态随机存取存储器转移该区块数据至该第一存储器,且该卷积运算电路根据自该第一存储器获得该区块数据,并对该区块数据依序执行对应于该卷积运算的多级运算以依序产生多个输出特征图数据;根据该第二存储器的容量以及该多个输出特征图数据中的最后一个输出特征图数据的一第一部份数据的数据量决定该多级运算的级数以及用来该多个输出特征图数据中的剩余数据中每一者的至少一第二部分数据的所需数据量,其中在执行该多级运算的过程中,该存储器管理电路将该第一部份数据与该至少一第二部分数据储存于该第二存储器;以及依据该区块数据的数据尺寸、该多级运算的级数、该第一部份数据的数据量以及该至少一第二部分数据的数据量产生一预定编译文件,其中该存储器管理电路基于该预定编译文件存取该动态随机存储器、该第一存储器以及该第二存储器。
[0006]有关本申请的特征、实作与功效,兹配合图式作较佳实施例详细说明如下。
附图说明
[0007]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0008]图1为先前技术执行卷积运算的概念示意图;
[0009]图2为根据本申请一些实施例绘制的一种人工智能系统的示意图;
[0010]图3A为根据本申请一些实施例绘制的卷积运算的基本概念示意图;
[0011]图3B为根据本申请一些实施例绘制的额图2中的智能处理器装置执行卷积运算的概念示意图;
[0012]图3C为根据本申请一些实施例绘制图2中的智能处理器装置的数据传递流程的示意图;
[0013]图4为根据本申请一些实施例绘制的一种存储器带宽降低方法的流程图;
[0014]图5A为根据本申请一些实施例绘制的图4中的一操作的概念示意图;以及
[0015]图5B为根据本申请一些实施例绘制的图4中的一操作的详细步骤流程图。
具体实施方式
[0016]本文所使用的所有词汇具有其通常的意涵。上述的词汇在普遍常用的字典中的定义,在本申请的内容中包含任一于此讨论的词汇的使用例子仅为示例,不应限制到本申请的范围与意涵。同样地,本申请亦不仅以于此说明书所示出的各种实施例为限。
[0017]关于本文中所使用的“耦接”或“连接”,均可指二或多个组件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指二或多个组件相互操作或动作。如本文所用,用语“电路”可为由至少一个晶体管与/或至少一个主被动组件按一定方式连接以处理讯号的装置。
[0018]在一些实施例中,智能处理器装置(例如为图2的智能处理器装置230)可将卷积神经网络模型中的多层卷积运算拆分为多级运算,并将多级运算中所产生的计算结果暂存于高速缓存存储器(例如为图2的存储器233)中,并在完成所有级数的运算后将最终产生的数据写回至动态随机存取存储器(例如为图2的存储器220)。如此,可降低动态随机存取存储器的带宽需求。
[0019]图2为根据本申请一些实施例绘制的一种人工智能系统200的示意图。人工智能系统200包含处理器210、存储器220以及智能处理器(Intelligence Processor,或为Intelligence Processing Unit)装置230。人工智能系统200可用于执行神经网络模型(例如为,但不限于,卷积神经网络模型)以处理各种类型的数据(例如为,但不限于,图像数据)。
[0020]存储器220可储存待处理的输入数据DI以及经智能处理器装置230处理后的输出数据DO。在一些实施例中,存储器220可为动态随机存取存储器。智能处理器装置230可基于处理器210的控制而自存储器220读取输入数据DI,并对输入数据DI执行卷积运算,以产生输出数据DO。
[0021]详细而言,智能处理器装置230包含存储器管理电路231、存储器232、存储器233以
及卷积运算电路234。存储器管理电路231耦接于存储器232、存储器233以及存储器220。在一些实施例中,存储器管理电路231可由(但不限于)存储器管理单元(memory management unit)以及直接存储器访问(direct memory access)控制器等电路实施。存储器管理电路231可基于处理器210与/或卷积运算电路234的控制自存储器220读取输入数据DI至存储器232。卷积运算电路234可读取存储器232以获得输入数据DI,并对该输入数据DI执行卷积运算以产生输出数据DO。在卷积运算电路234产生输出数据DO后,存储器管理电路231可传送输出数据DO至存储器220以储存输出数据DO。
[0022]在一些实施例中,处理器210可基于一预定编译文件(未示出)发送指令CMD,且智能处理器装置230可根据该指令CMD自存储器220读取输入数据DI,并对输入数据DI执行卷积运算以产生输出数据DO。智能处理器装置230可根据指令CMD将卷积神经网络模型的多层卷积运算进一步拆分成多级运算。存储器管理电路231可将在卷积运算电路234在每级运算所产生的输出结果(例如为后述的输出特征本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种降低存储器带宽的方法,其特征在于,应用于执行一卷积神经网络模型的一智能型处理器装置,其中所述智能型处理器装置包括一第一存储器、一存储器管理电路、一第二存储器以及一卷积运算电路,且所述降低存储器带宽的方法包括:根据所述第一存储器的容量决定所述卷积运算电路执行一卷积运算时储存于所述第一存储器的一区块数据的数据尺寸,其中所述存储器管理电路自一动态随机存取存储器转移所述区块数据至所述第一存储器,且所述卷积运算电路对所述区块数据依序执行对应于所述卷积运算的多级运算以依序产生多个输出特征图数据;根据所述第二存储器的容量以及所述多个输出特征图数据中的最后一个输出特征图数据的一第一部份数据的数据量决定所述多级运算的级数以及用来产生所述多个输出特征图数据中的剩余数据中每一者的至少一第二部分数据的所需数据量,其中在执行所述多级运算的过程中,所述存储器管理电路将所述第一部份数据与所述至少一第二部分数据储存于所述第二存储器;以及依据所述区块数据的数据尺寸、所述多级运算的级数、所述第一部份数据的数据量以及所述至少一第二部分数据的数据量产生一预定编译文件,其中所述存储器管理电路基于所述预定编译文件存取所述动态随机存储器、所述第一存储器以及所述第二存储器。2.如权利要求1所述的方法,其特征在于,所述至少一第二部分数据的数据量为足以让所述卷积运算电路产生所述第一部份数据的数据量。3.如权利要求1所述的方法,其特征在于,根据所述第一存储器的容量决定所述卷积运算电路执行所述卷积运算时储存于所述第一存储器的所述区块数据的数据尺寸包括:根据所述第一存储...

【专利技术属性】
技术研发人员:何虎周世杰
申请(专利权)人:锐宸微上海科技有限公司
类型:发明
国别省市:

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

1