[发明专利]用于神经网络执行期间的存储器分配的方法在审
申请号: | 202111534114.0 | 申请日: | 2021-12-15 |
公开(公告)号: | CN114638350A | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | L·福里奥特;M·法尔凯托;P·德马雅 | 申请(专利权)人: | 意法半导体股份有限公司;意法半导体(鲁塞)公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F3/06 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄海鸣 |
地址: | 意大利阿格*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 神经网络 执行 期间 存储器 分配 方法 | ||
1.一种方法,包括:
确定人工神经网络的层的执行次序;
在易失性存储器的堆存储器区中,根据所述层的所述执行次序,定义由每层生成的中间结果缓冲的放置;
针对每层的执行,确定所述堆存储器区的自由区域;以及
在所述堆存储器区的所述自由区域中,基于所述层的所述执行次序,定义临时暂存缓冲的放置。
2.根据权利要求1所述的方法,还包括:
将与相应层相关联的所述临时暂存缓冲从最大缓冲到最小缓冲进行排序;以及
在定义所述临时暂存缓冲的放置之前,将可变大小暂存缓冲排列在所述最小缓冲之后。
3.根据权利要求1所述的方法,其中定义所述放置包括:定义所述临时暂存缓冲在所述堆存储器区的所述自由区域的顶部的放置。
4.根据权利要求1所述的方法,其中定义所述放置包括:定义所述临时暂存缓冲在所述堆存储器区的所述自由区域的底部的放置。
5.根据权利要求1所述的方法,其中定义所述放置包括:定义所述临时暂存缓冲代替另一临时暂存缓冲的放置。
6.根据权利要求1所述的方法,还包括:
针对所述临时暂存缓冲的放置,修改所述堆存储器区的顶部,以在所述堆存储器区的顶部获得具有所述临时暂存缓冲的大小的自由区域;以及
针对所述临时暂存缓冲的放置,定义所述临时暂存缓冲在所述堆存储器区的顶部的所述自由区域中的放置。
7.根据权利要求1所述的方法,还包括:
针对所述临时暂存缓冲的放置,修改所述堆存储器区的底部,以在所述堆存储器区的底部获得具有所述临时暂存缓冲的大小的自由区域;以及
针对所述临时暂存缓冲的放置,定义所述临时暂存缓冲在所述堆存储器区的底部的所述自由区域中的放置。
8.根据权利要求1所述的方法,其中定义所述放置包括:在定义具有固定大小的所述临时暂存缓冲的放置之后,定义具有可变大小的所述临时暂存缓冲在所述堆存储器区的剩余自由区域中的放置。
9.根据权利要求1所述的方法,还包括:
将所述堆存储器区的所述自由区域存储在列表中;以及
在临时暂存缓冲的每个放置定义之后更新所述列表。
10.一种存储计算机指令的非瞬态计算机可读介质,当所述计算机指令由一个或多个处理器执行时,使得所述处理器执行:
确定人工神经网络的层的执行次序;
在易失性存储器的堆存储器区中,根据所述层的所述执行次序,定义由每层生成的中间结果缓冲的放置;
针对每层的执行,确定所述堆存储器区的自由区域;以及
在所述堆存储器区的所述自由区域中,基于所述层的所述执行次序,定义临时暂存缓冲的放置。
11.根据权利要求10所述的存储计算机指令的非瞬态计算机可读介质,当所述计算机指令由一个或多个处理器执行时,使得所述处理器执行:
将与相应层相关联的所述临时暂存缓冲从最大缓冲到最小缓冲进行排序;以及
在定义所述临时暂存缓冲的放置之前,将可变大小暂存缓冲排列在所述最小缓冲之后。
12.根据权利要求10所述的存储计算机指令的非瞬态计算机可读介质,其中定义所述放置包括:定义所述临时暂存缓冲在所述堆存储器区的所述自由区域的顶部的放置。
13.根据权利要求10所述的存储计算机指令的非瞬态计算机可读介质,其中定义所述放置包括:定义所述临时暂存缓冲在所述堆存储器区的所述自由区域的底部的放置。
14.根据权利要求10所述的存储计算机指令的非瞬态计算机可读介质,其中定义所述放置包括:定义所述临时暂存缓冲代替另一临时暂存缓冲的放置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于意法半导体股份有限公司;意法半导体(鲁塞)公司,未经意法半导体股份有限公司;意法半导体(鲁塞)公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111534114.0/1.html,转载请声明来源钻瓜专利网。