[发明专利]基于众核芯片的内存分配方法和内存分配装置在审
申请号: | 202111598688.4 | 申请日: | 2021-12-24 |
公开(公告)号: | CN116360958A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 徐茂轩;李志 | 申请(专利权)人: | 无锡灵汐类脑科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/08;G06N3/10;G06N3/044 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 彭瑞欣;冯建基 |
地址: | 214028 江苏省无锡市新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 芯片 内存 分配 方法 装置 | ||
本公开提供了一种基于众核芯片的内存分配方法,该方法包括:获取待分配给目标计算核的至少一个神经网络算子的算子属性信息;将各神经网络算子的算子属性信息输入预先获取的内存使用预测模型,预测得到该至少一个神经网络算子在目标计算核对应的内存中最大的内存使用量;在最大的内存使用量小于或等于目标计算核对应的内存的可用内存量的情况下,确定该至少一个神经网络算子为目标计算核对应的目标分配算子;将目标分配算子分配给目标计算核对应的内存。本公开能够减少为神经网络算子分配众核芯片内存的算力消耗,缩短为神经网络算子分配众核芯片内存的时间。本公开还提供了一种内存分配装置、电子设备、计算机可读介质。
技术领域
本公开涉及计算机技术领域,特别涉及一种基于众核芯片的内存分配方法、内存分配装置、电子设备、计算机可读介质。
背景技术
深度学习框架的静态计算图可以经过编译器进行编译,生成可以在硬件上运行的指令流。在静态计算图的编译阶段,静态计算图进入编译器后,会进行任务分配,根据不同算子(operator,op)的计算量和访存需求,以及算子间的同步信息,将不同的算子分配到众核芯片不同的计算核(core)上执行。
如果计算核的内存大小不足以支持分配给该计算核的算子,就需要把分配给该计算核的一部分算子用其他算子替换掉,并重新确定分配给该计算核的算子在该计算核的内存使用情况,直至全部算子都能分配到合适的计算核中。在算子数量多的情况下,该分配算子的过程耗时长且算力消耗大。
发明内容
本公开提供一种基于众核芯片的内存分配方法、内存分配装置、电子设备、计算机可读介质。
第一方面,本公开提供一种基于众核芯片的内存分配方法,该众核芯片包括多个计算核,每个所述计算核配置有独立内存,该内存分配方法包括:
获取待分配给目标计算核的至少一个神经网络算子的算子属性信息;
将各所述神经网络算子的算子属性信息输入预先获取的内存使用预测模型,预测得到所述至少一个神经网络算子在所述目标计算核对应的内存中最大的内存使用量;
在所述最大的内存使用量小于或等于所述目标计算核对应的内存的可用内存量的情况下,确定所述至少一个神经网络算子为所述目标计算核对应的目标分配算子;
将所述目标分配算子分配给所述目标计算核对应的内存。
可选地,在将各所述神经网络算子的算子属性信息输入预先获取的内存使用预测模型,预测得到所述至少一个神经网络算子在所述目标计算核对应的内存中最大的内存使用量之前,所述内存分配方法还包括:
基于多个计算核对应的训练数据训练内存使用预测模型,以获得训练后的所述内存使用预测模型;
其中,计算核对应的训练数据包括:分配给该计算核的至少一个训练神经网络算子的算子属性信息、以及所述至少一个训练神经网络算子在该计算核对应的内存中最大的内存使用量。
可选地,在所述基于多个计算核对应的训练数据训练内存使用预测模型,以获得训练后的所述内存使用预测模型之前,所述内存分配方法还包括:
对多个神经网络计算图中的每个神经网络计算图执行预设处理过程,以获得多个计算核对应的训练数据;
其中,所述预设处理过程包括:
对所述神经网络计算图进行编译,以将所述神经网络计算图对应的训练神经网络算子分配给所述众核芯片包括的多个计算核;
针对每一个计算核,获取该计算核对应的所述训练数据。
可选地,所述基于多个计算核对应的训练数据训练内存使用预测模型,以获得训练后的所述内存使用预测模型的步骤,包括:
对各所述计算核对应的所述训练数据进行预处理,所述预处理包括编码处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡灵汐类脑科技有限公司,未经无锡灵汐类脑科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111598688.4/2.html,转载请声明来源钻瓜专利网。