[发明专利]一种基于指令队列的分布式深度神经网络性能建模方法有效
申请号: | 201811592739.0 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109657794B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 李陈圣;秦晓卫;裴梓茜;李晓敏;杨渡佳 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06N3/10 | 分类号: | G06N3/10;G06N3/08;G06N3/063 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 指令 队列 分布式 深度 神经网络 性能 建模 方法 | ||
1.一种基于指令队列的分布式深度神经网络性能建模方法,针对GPU上训练的深度神经网络一次迭代耗时建模,其特征在于:根据硬件性能参数、神经网络结构、底层计算架构CUDA、数据传输协议、链路带宽特点、服务器GPU拓扑结构,对深度神经网络进行分层映射拆分、分段计算,然后利用指令队列对训练一次迭代耗时进行估计,同时输出各硬件间的数据交互情况;
具体操作步骤为:
首先执行软硬件关键特征参数提取:在部署神经网络的GPU服务器上,使用linux系统指令查看硬件配置,提取硬件关键特征参数----包括硬件性能参数、链路带宽、服务器GPU拓扑结构;根据神经网络代码,提取软件关键特征参数----包括神经网络结构参数、数据传输协议;并将提取到的软硬件关键特征参数汇总成配置文件;
然后进行单GPU性能建模,将深度神经网络训练一次迭代耗时拆分为数据传输时间、前向传播时间、反向传播时间分别计算,其中前向传播时间和反向传播时间根据神经网络结构再进行分层拆分;根据执行一层所需的CUDA核函数的计算原理和该层的输入数据量,推导得到执行CUDA核函数需要的所有底层指令----包括计算、全局存储加载、共享存储加载和全局存储保存四种指令;由计算指令占比确定所属的指令队列模型----计算密集型和存储密集型, 从而计算出所有指令执行的周期数,将周期数转化为耗时,最终得到一次迭代耗时的估计;
最后进行多GPU性能建模,基于单GPU性能建模的前向反向传播时间建模结果,结合GPU拓扑结构和吞吐量模型,根据传输模式构建传输模型,计算传输时间,最终得到一次迭代耗时的估计,同时输出硬件间的数据交互过程,包括开始和结束的时间、进行数据交互的硬件以及本次交互的数据量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811592739.0/1.html,转载请声明来源钻瓜专利网。