[发明专利]用于在顺序处理器上进行多次执行的动态代码加载在审
申请号: | 202080045753.8 | 申请日: | 2020-06-26 |
公开(公告)号: | CN114008589A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | S·雅各布;I·明金;M·埃尔-沙巴尼 | 申请(专利权)人: | 亚马逊技术股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/48;G06F13/28 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 钱慰民;张鑫 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 顺序 处理器 进行 多次 执行 动态 代码 加载 | ||
1.一种方法,其包括:
将用于由神经网络装置进行的单个推理的指令代码存储在可由所述神经网络装置的直接存储器存取(DMA)引擎存取的存储器装置中,所述指令代码形成常规代码块;
将用于复位指令DMA队列以将所述指令代码复制到所述神经网络装置的执行引擎的指令缓冲器的复位代码块存储在所述存储器装置中;
由指令加载器生成所述指令DMA队列,其中所述指令DMA队列在由所述DMA引擎执行时使所述DMA引擎针对N个推理中的每一个将所述常规代码块和额外代码块两者复制到所述指令缓冲器,并且其中对于所述N个推理中的第N个推理,所述额外代码块是所述复位代码块;以及
对于所述N个推理中的每一个,通过所述DMA引擎且基于所述指令DMA队列将所述常规代码块和所述额外代码块两者复制到所述指令缓冲器。
2.根据权利要求1所述的方法,其进一步包括:
对于所述N个推理中的每一个,由所述执行引擎执行所述常规代码块和所述额外代码块两者。
3.根据权利要求1或2所述的方法,其进一步包括:
将无操作(NOP)代码块存储在所述存储器装置中。
4.根据权利要求1至3中任一项所述的方法,其中对于所述N个推理中的前N-1个推理,所述额外代码块是所述NOP代码块。
5.根据权利要求1至4中任一项所述的方法,其中所述执行引擎包含卷积引擎、激活引擎、池化引擎,或通用处理引擎。
6.根据权利要求1至5中任一项所述的方法,其进一步包括:
由所述指令加载器将所述指令代码分成代码段。
7.根据权利要求1至6中任一项所述的方法,其中所述DMA引擎针对所述N个推理中的每一个将所述代码段中的每一个依序地复制到所述指令缓冲器。
8.根据权利要求1至7中任一项所述的方法,其进一步包括:
由所述指令加载器生成输入/输出(I/O)DMA队列,所述I/O DMA队列在由所述DMA引擎执行时使所述DMA引擎复制用于所述N个推理中的每一个的I/O数据。
9.根据权利要求1至8中任一项所述的方法,其中所述复位代码块的执行引起所述I/ODMA队列的复位。
10.根据权利要求1至9中任一项所述的方法,其中复位所述I/O DMA队列包含复位所述I/O DMA队列的头指针和尾指针两者。
11.一种非暂时性计算机可读媒体,其具有存储于其中的指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行包含以下项的操作:
将用于由神经网络装置进行的单个推理的指令代码存储在可由所述神经网络装置的直接存储器存取(DMA)引擎存取的存储器装置中,所述指令代码形成常规代码块;
将用于复位指令DMA队列以将所述指令代码复制到所述神经网络装置的执行引擎的指令缓冲器的复位代码块存储在所述存储器装置中;
由指令加载器生成所述指令DMA队列,其中所述指令DMA队列在由所述DMA引擎执行时使所述DMA引擎针对N个推理中的每一个将所述常规代码块和额外代码块两者复制到所述指令缓冲器,并且其中对于所述N个推理中的第N个推理,所述额外代码块是所述复位代码块;以及
对于所述N个推理中的每一个,通过所述DMA引擎且基于所述指令DMA队列将所述常规代码块和所述额外代码块两者复制到所述指令缓冲器。
12.根据权利要求11所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:
对于所述N个推理中的每一个,由所述执行引擎执行所述常规代码块和所述额外代码块两者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚马逊技术股份有限公司,未经亚马逊技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080045753.8/1.html,转载请声明来源钻瓜专利网。