本公开涉及芯片,尤其涉及内存管理,具体涉及一种应用于包括多个数据节点的计算图的内存分配方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、当数据处理单元执行计算图时,通常需要把图中的计算数据存放在处理单元的内存中。由于处理单元的内存大小有限,因此在计算图执行过程中,需要频繁规划申请和释放内存空间,从而影响了计算图的执行效率。
2、在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
技术实现思路
1、本公开提供了一种应用于包括多个数据节点的计算图的内存分配方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
2、根据本公开的一方面,提供了一种应用于包括多个数据节点的计算图的内存分配方法,所述多个数据节点中的每个数据节点均对应一组数据,所述方法包括:获取与所述多个数据节点对应的多组数据各自的初始内存占用量和所述多组数据各自对应的内存占用时长;基于所述多组数据各自的初始内存占用量和所述多组数据各自对应的内存占用时长,分配所述多组数据各自对应的第一内存空间和内存可用时间;响应于确定所述多组数据中的第一数据的内存占用量发生变化,基于所述第一数据的当前内存占用量和所述第一数据的初始内存占用量,确定变化比例;基于所述多组数据各自对应的第一内存空间和所述变化比例,确定所述多组数据各自对应的第二内存空间;以及基于所述多组数据各自对应的第二内存空间和内存可用时间,为所述多组数据分配内存。
3、根据本公开的另一方面,提供了一种应用于包括多个数据节点的计算图的内存分配装置,所述多个数据节点中的每个数据节点均对应一组数据,所述装置包括:第一获取单元,被配置为获取与所述多个数据节点对应的多组数据各自的初始内存占用量和所述多组数据各自对应的内存占用时长;第一分配单元,被配置为基于所述多组数据各自的初始内存占用量和所述多组数据各自对应的内存占用时长,分配所述多组数据各自对应的第一内存空间和内存可用时间;第一确定单元,被配置为响应于确定所述多组数据中的第一数据的内存占用量发生变化,基于所述第一数据的当前内存占用量和所述第一数据的初始内存占用量,确定变化比例;第二确定单元,被配置为基于所述多组数据各自对应的第一内存空间和所述变化比例,确定所述多组数据各自对应的第二内存空间;以及第二分配单元,被配置为基于所述多组数据各自对应的第二内存空间和内存可用时间,为所述多组数据分配内存。
4、根据本公开的另一方面,提供了一种芯片,包括如上所述的内存分配装置。
5、根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述内存分配方法。
6、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述内存分配方法。
7、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时能够实现上述内存分配方法。
8、根据本公开的一个或多个实施例,可以提升内存分配效率。
9、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种应用于包括多个数据节点的计算图的内存分配方法,所述多个数据节点中的每个数据节点均对应一组数据,所述方法包括:
2.如权利要求1所述的方法,其中,所述多组数据中的每组数据均包括至少一个子数据,所述每组数据当前所包括的所述至少一个子处理数据的数量能够指示所述每组数据各自的当前内存占用量,所述多组数据各自的初始内存占用量为所述至少一个子处理数据中的一个子数据的内存占用量,
3.如权利要求1或2所述的方法,其中,所述多个数据节点包括输入数据节点,所述获取与所述多个数据节点对应的多组数据各自的初始内存占用量和所述多组数据各自对应的内存占用时长包括:
4.如权利要求3所述的方法,其中,所述第一数据为与所述输入数据节点对应的数据。
5.如权利要求1-4中任一项所述的方法,还包括:
6.一种应用于包括多个数据节点的计算图的内存分配装置,所述多个数据节点中的每个数据节点均对应一组数据,所述装置包括:
7.如权利要求6所述的装置,其中,所述多组数据中的每组数据均包括至少一个子数据,所述每组数据当前所包括的所述至少一个子处理数据的数量能够指示所述每组数据各自的当前内存占用量,所述多组数据各自的初始内存占用量为所述至少一个子处理数据中的一个子数据的内存占用量,
8.如权利要求6或7所述的装置,其中,所述多个数据节点包括输入数据节点,所述第一获取单元被配置为:
9.如权利要求8所述的装置,其中,所述第一数据为与所述输入数据节点对应的数据。
10.如权利要求6-9中任一项所述的装置,还包括:
11.一种芯片,包括如权利要求6-10中任一项所述的装置。
12.一种电子设备,包括:
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-5中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。