本发明专利技术实施例公开了一种基于深度学习节点计算的调度方法、设备及存储介质。该调度方法包括:获取预设神经网络计算图的待计算节点;判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断所述硬件计算节点对应的硬件算力模块是否被占用;在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算。本发明专利技术实施例实现了图推理过程异步化,充分利用软件和硬件的资源。
Scheduling methods, devices and storage media based on deep learning node computing
【技术实现步骤摘要】
基于深度学习节点计算的调度方法、设备及存储介质
本专利技术实施例涉及深度学习技术,例如一种基于深度学习节点计算的调度方法、设备及存储介质。
技术介绍
深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习网络通常由算法训练得来。多数情况下,算法开发人员倾向于使用已有的公开深度学习框架进行模型训练,而大部分公开深度学习框架是针对于中央处理器(CentralProcessingUnit,CPU)/图像处理器(GraphicsProcessingUnit,GPU)这类计算设备设计的。CPU/GPU采用传统的指令集架构,架构效率较低,灵活性较高。但随着深度学习相关技术的发展,现在深度学习相关技术中对算力的要求越来越高。传统的指令集架构低效率的缺陷已经不能满足应用场景的需求。对比而言,数据流架构效率更高,从技术路线来看更加适合深度学习技术的发展趋势。然而数据流架构与指令集架构的数据表达存在较大差异:数据流架构的算子颗粒度要远大于指令集架构;数据流架构算子计算前要预先根据数据依赖,确定计算模块的排列顺序。这种差异导致了数据流芯片只适用于深度学习算子,一些定制程度高的地方依旧需要通用计算设备进行辅助处理。软件节点的存在导致了以下情况:软件节点无硬件加速效果,运行较慢;在单线程的情况下运行图计算,软件节点的运行会导致硬件空闲,不利于加速。
技术实现思路
本专利技术实施例提供一种基于深度学习节点计算的调度方法、设备及存储介质,以实现图推理过程异步化,充分利用软件和硬件的资源。本专利技术实施例提供了一种基于深度学习节点计算的调度方法,该基于深度学习节点计算的调度方法包括:获取预设神经网络计算图的待计算节点;判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断所述硬件计算节点对应的硬件算力模块是否被占用;在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算。一方面,本专利技术实施例还提供了一种基于深度学习节点计算的调度设备,该设备包括:至少一个处理器;存储装置,用于存储至少一个程序,所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本专利技术任一实施例提供的调度方法。另一方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本专利技术任一实施例提供的调度方法。本专利技术实施例通过获取预设神经网络计算图的待计算节点;判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断对应的硬件算力模块是否被占用;在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算,避免了软件节点无硬件加速效果,运行时会导致硬件空闲,不利于加速的情况,实现了神经网络计算图计算过程异步化,充分利用软件和硬件的资源的效果。附图说明图1是本专利技术实施例一提供的一种基于深度学习节点计算的调度方法的流程示意图;图2是本专利技术实施例二提供的一种基于深度学习节点计算的调度方法的流程示意图;图3为本专利技术实施例三提供的一种基于深度学习节点计算的调度设备的结构示意图。具体实施方式在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。在其操作完成的情况下处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。实施例一如图1所示,本专利技术一实施例提供了一种基于深度学习节点计算的调度方法,该基于深度学习节点计算的调度方法包括步骤S110至步骤S140。在步骤S110中,获取预设神经网络计算图的待计算节点。本实施例中,神经网络是由大量的、简单的处理单元(也可称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。在神经网络实际计算过程的计算图中,将最简单的计算单元称为计算节点,每个未被计算的计算节点为待计算节点。获取预设神经网络计算图的待计算节点,即将需要计算的神经网络计算图中的待计算节点插入到设备中的计算队列中。在一实施例中,该计算队列为异步队列,即在该计算队列中计算某个待计算节点时,不需要等待其他进程返回指令信息而直接进行计算,当返回指令信息时按照该指令信息执行计算。在步骤S120中,判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点。本实施例中,硬件计算节点为硬件算力模块可以执行计算的计算节点,软件计算节点为硬件算力模块无法执行计算的计算节点。其中,硬件算力模块可以包括多个人工智能(ArtificialIntelligence,AI)算力芯片,该AI算力芯片采用数据流架构,只能针对特定的计算节点进行计算,但其计算效率很高。在步骤S130中,在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断所述硬件计算节点对应的硬件算力模块是否被占用。本实施例中,第一队列为硬件节点队列,进入第一队列的待计算都为硬件计算节点。硬件算力模块中的每个AI算力芯片都可以被设计为针对计算不同的硬件计算节点,在待计算节点为硬件计算节点的情况下,还需要判断该硬件计算节点对应的AI算力芯片是否被占用。在步骤S140中,在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算。本实施例中,在待计算节点为硬件计算节点的情况下,该硬件计算节点对应的AI算力芯片也没有被占用时,将该硬件计算节点输入至硬件算力模块中与其对应的AI算力芯片中进行计算。本专利技术实施例通过获取预设神经网络计算图的待计算节点;判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断对应的硬件算力模块是否被占用;在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算,避免了软件节点无硬件加速效果,运行时会导致硬件空闲,不利于加速的情况,实现了神经网络计算图计算过程异步化,充分利用软件和硬件的资源的效果。实施例二如图2所示,本专利技术实施例二在本专利技术实施例一的基础上作了进一步优化,本专利技术实施例二提供了一种基于深度学习节点计算的调度方法,该基于深度学习节点计算的调度方法包括步骤S100至步骤S422。在步骤S100中,获取预设神经网络计算图的待计算节点。本实施例中,神经网络是由大量的、简单的处理单元(也可称为神经元)广泛地互相连接而形成的复杂网络系统本文档来自技高网...
【技术保护点】
1.一种基于深度学习节点计算的调度方法,包括:/n获取预设神经网络计算图的待计算节点;/n判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;/n在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断所述硬件计算节点对应的硬件算力模块是否被占用;/n在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算。/n
【技术特征摘要】
1.一种基于深度学习节点计算的调度方法,包括:
获取预设神经网络计算图的待计算节点;
判断所述待计算节点的节点类型,所述节点类型包括硬件计算节点和软件计算节点;
在所述节点类型为硬件计算节点的情况下,调度所述硬件计算节点至第一队列,并判断所述硬件计算节点对应的硬件算力模块是否被占用;
在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算。
2.根据权利要求1所述的调度方法,还包括:
在所述硬件算力模块被占用的情况下,将所述硬件计算节点输入至软件算力模块进行计算。
3.根据权利要求1所述的调度方法,还包括:
在所述节点类型为软件计算节点的情况下,调度所述软件计算节点至第二队列,并判断是否存在未被占用的软件算力模块;
在存在未被占用的软件算力模块的情况下,将所述软件计算节点输入至所述软件算力模块进行计算。
4.根据权利要求3所述的调度方法,还包括:
在不存在未被占用的软件算力模块的情况下,将所述软件计算节点用于等待状态直到存在未被占用的软件算力模块。
5.根据权利要求1所述的调度方法,其中,所述在所述硬件算力模块没有被占用的情况下,将所述硬件计算节点输入至所述硬件算力模块进行计算之后,包括:
判断完成计算的硬件计算节点是否存在后续计算节点;
在存在后续计算节点的情况下,优先调度后续计算节点...
【专利技术属性】
技术研发人员:马恺,熊超,牛昕宇,蔡权雄,
申请(专利权)人:深圳鲲云信息科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。