一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种内存管理方法、装置、设备及介质与流程

2022-02-22 18:23:41 来源:中国专利 TAG:


1.本技术涉及存储技术领域,特别涉及一种内存管理方法、装置、设备及介质。


背景技术:

2.随着数据集规模的增加和模型的日趋复杂,ai(即artificial intelligence,人工智能)网络模型的计算成本越来越高,算力作为承载人工智能应用的平台和基础,其发展推动了整个人工智能系统的进步和快速演进,是人工智能最核心的要素之一。以解决人工智能应用计算系统的新型混合异构计算体系结构已成为国内外工业界和学术界共同角逐的热点。面向人工智能算法应用加速的异构加速器层出不穷,例如gpu(即graphics processing unit,图形处理器)、fpga(即field programmable gate array,现场可编程逻辑门阵列))、tpu(即tensor processing unit,张量处理器)及各种定制化ai加速器等异构设备的发展为ai场景应用提供了多样性的底层硬件支持。
3.随着ai应用场景的复杂性提高,以及定制化ai异构加速器往往面向特定计算场景进行适配优化,人工智能应用对混合异构计算系统提出了需求。为了提高人工智能计算系统的能效,在单一服务器系统中同时集成具有不同计算特性的ai异构加速设备,在同一种复杂ai应用场景种采用不同的ai加速器分别负责不同的计算任务,通过构建高效的超异构计算系统,实现在同一个人工智能计算系统中不同ai异构加速设备之间的高效协同。虽然不同的ai加速器均提供了高容量的板载内存,但由于不同ai异构加速器设备之间存在物理隔离,无法实现不同架构ai异构计算架构之间的内存共享,导致人工智能算法模型在部署时往往受限于单个ai加速器设备的板载内存空间大小限制,目前的方式主要是采用模型并行的方式,将较大规模的ai算法模型在网络结构上进行拆分,通过将模型的不同模块分别部署在不同的ai加速器板载内存上,实现模型的训练与推理,然后采用模型并行流水执行的方式提高系统的运行效率,但是由于无法充分消除流水阶段之间的冒泡,仍会在一定程度上造成计算资源的浪费。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种内存管理方法、装置、设备及介质,能够突破ai异构加速设备间的内存物理隔离限制,提高异构加速计算系统的计算资源和内存资源利用效率。
5.第一方面,本技术公开了一种内存管理方法,包括:
6.对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间;
7.从全部所述内存切片空间中确定出公共内存切片空间;
8.对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间;
9.在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任
务。
10.可选的,所述从全部所述内存切片空间中确定出公共内存切片空间,包括:
11.分别将所述主机端对应的全部内存切片空间、各所述ai加速器设备的板载内存对应的全部内存切片空间中的指定内存切片空间确定为私有内存切片空间;
12.将全部非指定内存切片空间确定为公共内存切片空间。
13.可选的,对异构加速计算系统中的各ai加速器设备的板载内存分别进行切片处理,包括:
14.对异构加速计算系统中的所有ai加速器设备进行遍历,对遍历到的各ai加速器设备的板载内存分别进行切片处理。
15.可选的,所述异构加速计算系统中,所有所述ai加速器设备基于pcie接口挂载至所述主机端中。
16.可选的,所述异构加速计算系统中包括不同架构的所述ai加速器设备。
17.可选的,所述对异构加速计算系统的主机端内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间,包括:
18.根据预设切片空间大小对异构加速计算系统的主机端内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间。
19.可选的,还包括:
20.当检测到所述异构加速计算系统中挂载了新的ai加速器设备,则对所述新的ai加速器设备的板载内存进行切片处理,得到新增内存切片空间;
21.从所述新增内存切片空间内存中确定出新增公共内存切片空间;
22.基于所述新增公共内存切片空间更新所述编址空间,得到新的编址空间。
23.第二方面,本技术公开了一种内存管理装置,包括:
24.内存切片处理模块,用于对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间;
25.公共内存切片空间确定模块,用于从全部所述内存切片空间中确定出公共内存切片空间;
26.统一编址模块,用于对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间;
27.智能算法计算任务执行模块,用于在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任务。
28.第三方面,本技术公开了一种电子设备,包括:
29.存储器,用于保存计算机程序;
30.处理器,用于执行所述计算机程序,以实现前述的内存管理方法。
31.第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的内存管理方法。
32.可见,本技术先对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间,之后从全部所述内存切片空间中确定出公共内存切片空间,然后对全部所述公共内存切片空间进行统一地址空间编址,得到相应
component interconnect express,一种高速串行计算机扩展总线标准)接口挂载至所述主机端中。
46.也即,本实施例中通过pcie接口实现了所有ai加速器设备通过pcie接口挂载在主机,实现了统一的标准互联。
47.步骤s12:从全部所述内存切片空间中确定出公共内存切片空间。
48.在具体的实施方式中,可以分别将所述主机端对应的全部内存切片空间、各所述ai加速器设备的板载内存对应的全部内存切片空间中的指定内存切片空间确定为私有内存切片空间;将全部非指定内存切片空间确定为公共内存切片空间。
49.其中,私有内存切片空间,只能被本地的处理器进行访问,也即,任一ai加速器设备上的板载内存的私有内存切片空间,只能由该ai加速器设备上的ai芯片访问,主机端中的私有内存切片空间只能被主机端的cpu(即central processing unit,中央处理器)访问。公共内存切片空间切片,可以被系统中所有的处理器访问。
50.在具体的实施方式中,可以根据预设切片空间大小对异构加速计算系统的主机端内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间。
51.其中,预设切片空间大小可以根据实际场景确定,在此不做限制。
52.步骤s13:对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间。
53.步骤s14:在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任务。
54.本技术提供的内存管理方法可以应用于异构加速计算系统的主机端。
55.进一步的,当检测到所述异构加速计算系统中挂载了新的ai加速器设备,则对所述新的ai加速器设备的板载内存进行切片处理,得到新增内存切片空间;
56.从所述新增内存切片空间内存中确定出新增公共内存切片空间;
57.基于所述新增公共内存切片空间更新所述编址空间,得到新的编址空间。
58.可见,本技术先对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间,之后从全部所述内存切片空间中确定出公共内存切片空间,然后对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间,在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任务。也即,本技术先将异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,然后从中确定出公共内存切片空间,对公共内存切片空间进行统一编址,得到统一的编址空间,将人工智能算法模型部署于该编址空间,各处理器访问便编址空间中相应的公共内存切片空间,完成计算任务,这样,对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存进行统一编址管理,实现异构加速计算系统的内存资源池化,能够突破ai异构加速设备间的内存物理隔离限制,提高异构加速计算系统的计算资源和内存资源利用效率。
59.参见图2所示,本图2为本技术实施例公开的一种异构加速计算系统的架构图,所有的ai异构加速器设备采用pcie接口挂载在服务器中,也即挂载在主机端,在服务器系统
的ai加速器列表device(设备){1,2,3,

,n}中,其中,device n用device#表示,同时支持不同架构的ai加速器设备,主机端cpu设备可以采用pcie总线接口实现对ai加速器设备的板载内存访问。
60.相应的,本技术实施例公开的一种具体的内存管理方法,包括:
61.步骤01:针对host(即主机端)的内存进行切片,划分成m个内存切片空间:{h1,h2,h3,...h#},其中,将h1切片确定为私有内存切片空间,其余为公共内存切片空间。
62.步骤02:对主机系统所有的ai加速器设备进行遍历,针对所有ai加速器设备{d1,d2,d3,

,d#}的板载内存进行切片,均划分成k个内存切片空间:{m1,m2,m3,

,m#},其中,任一ai加速器设备中,m1切片为私有内存切片空间,其余为公共内存切片空间。
63.例如,参见图3所示,图3为本技术实施例公开的一种具体的内存切片示意图。其次,对每个ai加速器的板载内存和主机端的内存进行切片,、切分后的内存空间包含私有内存切片空间和公共内存切片空间,内存切片空间,只能被本地的处理器进行访问,例如device1(即d1)设备上的m1板载内存切片,只能由device1加速器上的ai芯片访问,主机端中的h1内存切片只能被主机端的cpu访问。公共内存切片空间,可以被系统中所有的处理器之间访问。
64.步骤03:对公共内存切片空间进行统一地址空间编址,编址空间为mem_addr{h2,

,h#,d1:m2,d1:m3,

,d1:m#,d2:m2,d2:m3,

,d2:m#,

,d#:m#}。
65.步骤04:将人工智能算法模型部署在公共内存切片空间的统一编址空间,在实际计算过程中,主机端cpu和各种ai处理器按需访问内存切片中的数据。
66.也即,本技术实施例对异构加速计算系统中主机端以及所有ai加速器设备上的公共内存切片空间进行统一编址,在主机端维护系统内存切片的统一编址空间,并基于统一编址空间,实现支持混合异构加速的超异构计算系统内存资源池化,面向人工智能算法应用的计算任务时,将ai算法模型统一部署在池化后的内存地址空间,所有的ai异构加速器设备和主机端cpu在进行计算时,按照需求访问不同地址的内存切片数据。这样,对异构加速计算系统中的所有内存进行统一管理,对板载内存空间和主机内存空间进行切片,实现ai异构加速器设备板载内存的资源池化,实现跨ai计算加速器设备的内存访问,突破了ai板载内存容量对ai算法模型规模大小的限制,提高了超异构计算系统的计算资源与内存资源使用效率,降低异构加速计算系统的运维成本。
67.参见图4所示,本技术实施例公开了一种内存管理装置,包括:
68.内存切片处理模块11,用于对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间;
69.公共内存切片空间确定模块12,用于从全部所述内存切片空间中确定出公共内存切片空间;
70.统一编址模块13,用于对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间;
71.智能算法计算任务执行模块14,用于在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任务。
72.可见,本技术先对异构加速计算系统的主机端的内存和各ai加速器设备的板载内
存分别进行切片处理,得到相应的内存切片空间,之后从全部所述内存切片空间中确定出公共内存切片空间,然后对全部所述公共内存切片空间进行统一地址空间编址,得到相应的编址空间,在执行人工智能算法计算任务时,将人工智能算法模型部署于所述编址空间,以便各处理器访问所述编址空间中相应的公共内存切片空间,完成所述人工智能算法计算任务。也即,本技术先将异构加速计算系统的主机端的内存和各ai加速器设备的板载内存分别进行切片处理,然后从中确定出公共内存切片空间,对公共内存切片空间进行统一编址,得到统一的编址空间,将人工智能算法模型部署于该编址空间,各处理器访问便编址空间中相应的公共内存切片空间,完成计算任务,这样,对异构加速计算系统的主机端的内存和各ai加速器设备的板载内存进行统一编址管理,实现异构加速计算系统的内存资源池化,能够突破ai异构加速设备间的内存物理隔离限制,提高异构加速计算系统的计算资源和内存资源利用效率。
73.其中,公共内存切片空间确定模块12,具体用于分别将所述主机端对应的全部内存切片空间、各所述ai加速器设备的板载内存对应的全部内存切片空间中的指定内存切片空间确定为私有内存切片空间;将全部非指定内存切片空间确定为公共内存切片空间。
74.并且,内存切片处理模块11,具体用于对异构加速计算系统中的所有ai加速器设备进行遍历,对遍历到的各ai加速器设备的板载内存分别进行切片处理。
75.所述异构加速计算系统中,所有所述ai加速器设备基于pcie接口挂载至所述主机端中。
76.并且,所述异构加速计算系统中包括不同架构的所述ai加速器设备。
77.内存切片处理模块11,具体用于根据预设切片空间大小对异构加速计算系统的主机端内存和各ai加速器设备的板载内存分别进行切片处理,得到相应的内存切片空间。
78.进一步的,所述装置还包括:新增挂载检测模块,用于检测所述异构加速计算系统中是否挂载了新的ai加速器设备。
79.相应的,内存切片处理模块11,用于当新增挂载检测模块检测到所述异构加速计算系统中挂载了新的ai加速器设备,则对所述新的ai加速器设备的板载内存进行切片处理,得到新增内存切片空间;
80.公共内存切片空间确定模块12,具体用于从所述新增内存切片空间内存中确定出新增公共内存切片空间;
81.统一编址模块,具体用于基于所述新增公共内存切片空间更新所述编址空间,得到新的编址空间。
82.参见图5所示,本技术实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的内存管理方法。
83.关于上述内存管理方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
84.并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
85.另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口
24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
86.进一步的,本技术实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的内存管理方法。
87.关于上述内存管理方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
88.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
89.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
90.以上对本技术所提供的一种内存管理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献