[发明专利]计算图执行方法、计算机设备及存储介质有效
申请号: | 201911230228.9 | 申请日: | 2019-12-04 |
公开(公告)号: | CN111160551B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/082 | 分类号: | G06N3/082;G06N3/084;G06N3/063;G06N3/0442;G06N3/0464 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 执行 方法 计算机 设备 存储 介质 | ||
本申请实施例公开了一种计算图执行方法、计算机设备及存储介质,其中,所述计算图执行方法包括:通用处理器对具有融合算子的计算图进行编译时,根据所述融合算子的操作指令获得所述计算图对应人工智能处理器执行的二进制指令。
技术领域
本申请涉及信息处理技术领域,尤其涉及一种计算图执行方法、计算机设备及存储介质。
背景技术
深度学习框架是整个深度学习生态体系中直面应用的第一层。早期在Caffe中,Layer被当做是构建卷积神经网络的基本元素,而在之后的深度学习框架,例如TensorFlow、MXNet中,虽然采用了不同的称呼,比如Operator,但与Caffe的Layer在核心思想上依旧是相似的,都是将神经网络计算进一步拆分为各类常见的面向张量数据的算子,使用者通过组合算子与数据来构建神经网络模型。
以上是深度学习框架面向更上层的应用的接口设计思想,同时也是深度学习框架向下对接的思想。在神经网络处理器或者专用加速器兴起前,深度学习领域中主流的计算设备是CPU和GPU,深度学习框架需要将上层应用通过图结构所表达的深度学习任务具体化成可以在CPU或者GPU执行的指令和数据。在这个过程中,深度学习框架采用算子作为落实计算任务的具体元素。具体来说,深度学习框架对作为“积木”来搭建网络的每个算子都提供了其在CPU或者GPU上执行的核函数(Kernel),根据上层应用给出的抽象计算图,深度学习框架调度执行图结构中每个算子对应的核函数,完成整个神经网络的计算。
算子在向设备上的具体实现的映射过程中,最简单的方法是通过编程语言来实现。这种方式的好处是灵活度高,对于CPU和提出了CUDA编程架构后的GPU来说,算法的开发者可以使用编程语言来完成特定算子的实现。但另一方面,算子的实现可能并不能够完全挖掘硬件设备的性能,无法达到效率的最大化。
在此基础上,更进一步的方式是使用高性能计算库来完成计算图中的抽向算子向具体核函数的映射,典型的例子是Nvidia开发的GPU上的算子计算库cuDNN。cuDNN直接在算子的粒度上向使用者提供在GPU上执行的核函数,深度学习框架在具象化计算图的过程中,只需要把图中的每个抽象算子映射为计算库中与之对应的内核函数实现,而不需要自己用CUDA进行开发。在这种情况下,深度学习框架直接对接底层设备制造商所提供的计算库,相比普通开发者使用CUDA实现的核函数,cuDNN往往可以在性能上得到更好的表现。实际上,对计算库提供了实现的算子,深度学习框架也倾向于直接调用计算库,一方面,这减轻了深度学习框架本身的负担,另一方面也确实得到了更好的性能,由底层设备制造商开发的高性能计算库理论上最大程度地发掘单个算子在特定设备上的性能极限,但单个算子的优化是存在上限的。对算子实现的优化,不外乎通过调整实现中计算与访存的关系,最大限度地减少不必要的访存行为同时避免运算单元的空闲。如果运算单元在整个任务的执行阶段始终处于满负荷运转的状态,代表着硬件在深度学习计算中的效率达到了100%,这是软硬件优化所追求的理想目标。但即便算子内的计算优化到极致,也不能让运算单元一直满载计算,原因是优化最终会受限于算子间的隔阂。算子在CPU和GPU上的核函数实现,无论是自己实现或者调用计算库,都是一种“片外存储→片上计算→片外存储”的模式,即算子的输入数据和输出数据存于全局存储中,核函数需要由全局存储中读取输入数据,完成计算,将结果存回全局存储中。这带来了两个问题,首先,每个算子关于输入数据和输出数据的访存无法通过算子内的优化来避免;其次,每个算子都需要启动开销,对通用处理器之外的异构计算设备来说更是如此。
发明内容
本申请实施例提供了一种计算图执行方法、计算机设备及存储介质,可以解决人工智能处理器执行学习任务时的IO瓶颈。
为解决上述问题,本申请提出一种计算图执行方法,包括:
通用处理器对具有融合算子的原始计算图进行编译时,根据所述融合算子的操作指令获得所述原始计算图对应人工智能处理器执行的二进制指令;其中,所述融合算子的操作指令获得步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911230228.9/2.html,转载请声明来源钻瓜专利网。