命令生成方法、装置、AI芯片、电子设备及存储介质制造方法及图纸

技术编号:36301115 阅读:24 留言:0更新日期:2023-01-13 10:17
本申请涉及一种命令生成方法、装置、AI芯片、电子设备及存储介质,该命令生成方法包括:为待处理的网络模型分配对应的虚假内存空间;基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令,所述第一硬件执行命令中的地址均为虚假地址,所述虚假内存空间与真实内存空间具备相同属性;存储所述第一硬件执行命令,第一硬件执行命令用于在被进行地址替换后提供给需要运行网络模型的硬件设备执行。以此可以改善为网络模型生成硬件指令命令时容易导致内存不够用的问题。硬件指令命令时容易导致内存不够用的问题。硬件指令命令时容易导致内存不够用的问题。

【技术实现步骤摘要】
命令生成方法、装置、AI芯片、电子设备及存储介质


[0001]本申请属于人工智能
,具体涉及一种命令生成方法、装置、AI芯片、电子设备及存储介质。

技术介绍

[0002]当需要使用AI(Artificial Intelligence,人工智能)网络进行数据处理时,需要为网络模型生成硬件能够识别的命令(即,硬件执行命令)。硬件执行命令通常需要包含或反映:操作的类型或内容、用于获取操作所需的数据源的读地址、用于存储操作运算结果的写地址等信息,处理器在将网络模型的各个操作翻译成硬件执行命令时,会用到很多内存信息。
[0003]在为网络模型生成硬件执行命令的过程中,会涉及内存资源的分配、占用,并且不同网络模型的数据会占用不同的内存空间,这样会加剧网络模型对有限内存资源的占用。尤其是在执行网络模型所需数据需要占用很大内存的时候,很容易出现内存不够用的情况,从而导致难以按照预期为网络模型翻译出硬件执行命令,进而导致硬件难以按照预期执行网络模型。此外,也可能因为这种内存不够用的情况而影响硬件在其他方面的性能。

技术实现思路

[0004]鉴于此,本申请的目的在于提供一种命令生成方法、装置、AI芯片、电子设备及存储介质,以改善现有技术中在为网络模型翻译生成硬件执行命令时,都需要占用很大的内存资源开销,容易导致内存不够用的问题。
[0005]本申请的实施例是这样实现的:第一方面,本申请实施例提供了一种命令生成方法,包括:为待处理的网络模型分配对应的虚假内存空间;基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令,所述第一硬件执行命令中的地址均为虚假地址,所述虚假内存空间与真实内存空间具备相同属性;存储所述第一硬件执行命令,所述第一硬件执行命令用于在被进行地址替换后提供给需要运行所述网络模型的硬件设备执行。
[0006]本申请实施例中,基于虚假内存空间(如用fake memory表示),将网络模型中包含的各个操作(即各个操作算子)翻译成对应的第一硬件执行命令。由于该过程是基于虚假内存空间进行的,因此不会因为命令的生成过程占用大量的真实内存空间。这样即便是为一个网络模型生成很多命令,或者,为多个网络模型翻译生成第一硬件执行命令,也不会因为在命令的生成过程中由于占用太多真实内存空间从而导致实际的真实内存空间不够用。此外,通过该方法,可以支持提前为网络模型翻译出硬件执行命令,有利于支持为一个或多个网络模型提前生成各模型分别对应的硬件执行命令,且可以避免由于提前为网络模型翻译出各操作对应的硬件执行命令而对有限的内存资源造成过多占用。
[0007]结合第一方面实施例的一种可能的实施方式,为待处理的网络模型分配对应的虚假内存空间,包括:根据执行所述网络模型所需的数据大小,分配与所述数据大小对应的虚
假内存空间。
[0008]以此有利于在不过多占用硬件的真实内存资源的情况下,满足生成命令所需的要求。
[0009]结合第一方面实施例的一种可能的实施方式,在基于虚假内存空间,将网络模型中包含的各个操作翻译成对应的第一硬件执行命令之前,所述方法还包括:判断从当前时刻开始后的预设时间段内是否执行所述网络模型;在确定从当前时刻开始后的预设时间段内不执行所述网络模型时,执行步骤:基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令。
[0010]通过该实施方式,只有在确定从当前时刻开始后的预设时间段内不执行网络模型时,才基于虚假内存空间,将网络模型中包含的各个操作翻译成对应的第一硬件执行命令,这样有利于在不降低网络模型处理效率的情况下,对网络模型进行提前翻译,并且可以提高翻译效率,有利于提升对于网络模型的处理效率。
[0011]结合第一方面实施例的一种可能的实施方式,所述方法还包括:在确定从当前时刻开始后的预设时间段内要执行所述网络模型时,基于所述真实内存空间,将所述网络模型中包含的各个操作翻译成对应的第二硬件执行命令,其中,所述第二硬件执行命令中包含的地址均为真实地址,所述真实内存空间用于存储执行所述网络模型时所需的数据;存储所述第二硬件执行命令。
[0012]通过该实施方式,在确定从当前时刻开始后的预设时间段内要执行网络模型时,直接基于真实内存空间,将网络模型中包含的各个操作翻译成对应的第二硬件执行命令,这样在需要尽快执行网络模型的情况下,避免基于虚假内存空间生成第一硬件执行命令后,又需要将第一硬件执行命令中的地址转换为执行所需的真实地址,从而能够提高即将要执行的网络模型的命令翻译效率、处理效率。
[0013]结合第一方面实施例的一种可能的实施方式,在存储所述第一硬件执行命令之后,所述方法还包括:在需要执行所述网络模型时,将执行所述网络模型所需的数据加载到所述真实内存空间;利用所述真实内存空间对应的真实地址替换掉所述第一硬件执行命令中的虚假地址;将替换后的第一硬件执行命令作为第二硬件执行命令,发送给对应的硬件设备,以供所述对应的硬件设备执行所述第二硬件执行命令。
[0014]通过该实施方式,便可以在保证不占用硬件的真实内存资源的情况下,又不会影响网络模型的正常使用。
[0015]结合第一方面实施例的一种可能的实施方式,利用所述真实内存空间对应的真实地址替换掉所述第一硬件执行命令中的虚假地址,包括:对所述第一硬件执行命令进行识别,确定出当前包含虚假地址的部分或全部第一硬件执行命令,作为目标命令;利用所述真实内存空间对应的真实地址,替换掉所述目标命令中的虚假地址。
[0016]本申请实施例中,在进行地址替换时,通过对第一硬件执行命令进行识别,仅对包含虚假地址的第一硬件执行命令进行替换,避免出现错误替换或漏替换。
[0017]结合第一方面实施例的一种可能的实施方式,在将替换后的第一硬件执行命令作为第二硬件执行命令,发送给对应的硬件设备执行之后,所述方法还包括:将所述第二硬件执行命令中的真实地址替换为所述虚假内存空间对应的虚假地址,并将地址替换为虚假地址的命令进行缓存。
[0018]通过该实施方式,在将替换后的第一硬件执行命令作为第二硬件执行命令发送给对应的硬件设备执行之后,又将该命令中的真实地址替换为虚假内存空间对应的虚假地址,并缓存,这样可以释放一部分对应的真实内存空间。
[0019]结合第一方面实施例的一种可能的实施方式,基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令,包括:将所述网络模型中包含的各个操作的源代码编译成各操作分别对应的指令,并基于所述虚假内存空间,获得执行所述网络模型中包含的各个操作所需的相关信息,所述相关信息包括地址信息;根据各个操作的对应的指令与执行各个操作所需的相关信息,生成所述第一硬件执行命令。
[0020]该实施方式中,通过将网络模型中包含的各个操作的源代码编译成指令,并基于虚假内存空间,获得执行网络模型中包含的各个操作所需的相关信息,之后根据各个操作的对应的指令与执行各个操作所需的相关信息,生成硬件执行命令,这样可以快速、准本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种命令生成方法,其特征在于,包括:为待处理的网络模型分配对应的虚假内存空间;基于所述虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令,所述第一硬件执行命令中的地址均为虚假地址,所述虚假内存空间与真实内存空间具备相同属性;存储所述第一硬件执行命令,所述第一硬件执行命令用于在被进行地址替换后提供给需要运行所述网络模型的硬件设备执行。2.根据权利要求1所述的方法,其特征在于,为待处理的网络模型分配对应的虚假内存空间,包括:根据执行所述网络模型所需的数据大小,分配与所述数据大小对应的虚假内存空间。3.根据权利要求1所述的方法,其特征在于,在基于虚假内存空间,将网络模型中包含的各个操作翻译成对应的第一硬件执行命令之前,所述方法还包括:判断从当前时刻开始后的预设时间段内是否执行所述网络模型;在确定从当前时刻开始后的预设时间段内不执行所述网络模型时,执行步骤:基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在确定从当前时刻开始后的预设时间段内要执行所述网络模型时,基于所述真实内存空间,将所述网络模型中包含的各个操作翻译成对应的第二硬件执行命令,其中,所述第二硬件执行命令中包含的地址均为真实地址,所述真实内存空间用于存储执行所述网络模型时所需的数据;存储所述第二硬件执行命令。5.根据权利要求1所述的方法,其特征在于,在存储所述第一硬件执行命令之后,所述方法还包括:在需要执行所述网络模型时,将执行所述网络模型所需的数据加载到所述真实内存空间;利用所述真实内存空间对应的真实地址替换掉所述第一硬件执行命令中的虚假地址;将替换后的第一硬件执行命令作为第二硬件执行命令,发送给对应的硬件设备,以供所述对应的硬件设备执行所述第二硬件执行命令。6.根据权利要求5所述的方法,其特征在于,利用所述真实内存空间对应的真实地址替换掉所述第一硬件执行命令中的虚假地址,包括:对所述第一硬件执行命令进行识别,确定出当前包含虚假地址的部分或全部第一硬件执行命令,作为目标命令;利用所述真实内存空间对应的真实地址,替换掉所述目标命令中的虚假地址。7.根据权利要求5所述的方法,其特征在于,在将替换后的第一硬件执行命令作为第二硬件执行命令,发送给对应的硬件设备执行之后,所述方法还包括:将所述第二硬件执行命令中的真实地址替换为所述虚假内存空间对应的虚假地址,并将地址替换为虚假地址的命令进行缓存。8.根据权利要求1

7任一项所述的方法,其特征在于,基于虚假内存空间,将所述网络模型中包含的各个操作翻译成对应的第一硬件执行命令,包括:
将所述网络模型中包含的各个操作的源代码编译成各操作分别对应的指令,并基...

【专利技术属性】
技术研发人员:刘军彭凡杨媛静王鸥
申请(专利权)人:成都登临科技有限公司
类型:发明
国别省市:

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

1