性能分析方法、装置、系统、计算设备及存储介质制造方法及图纸

技术编号:38737519 阅读:11 留言:0更新日期:2023-09-08 23:23
本公开涉及性能分析方法、装置、系统、计算设备及存储介质,所述方法应用于计算设备,计算设备上设置有图形处理器和容器,所述方法包括:从云端平台接收配置信息;从云端平台拷贝代码仓库文件;根据代码仓库文件指示的方式,从云端平台下载运行模型所需的资源,基于资源使用图形处理器运行模型,使用容器获取模型运行的性能原始数据并分析性能原始数据得到性能展示数据;上传性能展示数据到所述云端平台,性能展示数据由用户设备从云端平台下载并展示给用户。根据本公开实施例的性能分析方法,只需用户提交配置信息即可实现一键式、自动化性能分析,并且性能分析结果是结构化、标准化的结果,使基于性能分析结果确定性能优化方式更便捷。方式更便捷。方式更便捷。

【技术实现步骤摘要】
性能分析方法、装置、系统、计算设备及存储介质


[0001]本公开涉及人工智能领域,尤其涉及一种性能分析方法、装置、系统、计算设备及存储介质。

技术介绍

[0002]近年来,人工智能(artificial intelligence,AI)的研究及落地正在如火如荼地展开,AI应用正在进入人们的日常生活。AI模型需要大规模的矩阵运算,因此通常使用擅长矩阵运算的图形处理器(graphics processing unit,GPU)来加速AI应用。想要提高AI模型在GPU上运行的性能,需要获取AI模型的运行数据,给出性能分析报告,然后结合报告针对性优化AI模型在GPU上运行的性能。
[0003]AI领域通常涵盖视觉、自然语言处理、推荐系统、医疗影像、语音识别等多个方向。而每个方向都有大量的AI模型,业界常用的模型也有数百到数千个。第一,如果每个模型都需要算法工程师手动进行性能分析,那么工作量将非常庞大;第二,每个算法工程师开发水平,编码习惯相差很大,导致性能分析报告风格多样,内容参差不齐,也无法保证报告的质量,非常不利于性能优化;第三,手动产生的报告一般都是一些文本或命令行打印的数据,无法直观的展示数据,不能进行有效的分析。
[0004]综上所述,现有技术尚不能实现自动化、标准化的AI性能分析方案。

技术实现思路

[0005]有鉴于此,本公开提出了一种性能分析方法、装置、系统、计算设备及存储介质,根据本公开实施例的性能分析方法,只需用户提交配置信息即可实现一键式、自动化性能分析,并且性能分析结果是结构化、标准化的结果,使基于性能分析结果确定性能优化方式更便捷。
[0006]根据本公开的一方面,提供了一种性能分析方法,所述方法应用于计算设备,所述计算设备上设置有实体的图形处理器和虚拟的容器,所述方法包括:从云端平台接收配置信息,所述配置信息由用户设备上传,所述配置信息指示待分析的模型及所述模型的运行参数;从所述云端平台拷贝代码仓库文件,所述代码仓库文件指示所述计算设备分析所述模型在所述图形处理器上运行的性能的方式以及预设的数据结构;根据所述代码仓库文件指示的方式,从所述云端平台下载运行所述模型所需的资源,基于所述资源使用所述图形处理器运行所述模型,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,所述性能展示数据符合所述预设的数据结构;上传所述性能展示数据到所述云端平台,所述性能展示数据由所述用户设备从所述云端平台下载并展示给用户。
[0007]在一种可能的实现方式中,所述从所述云端平台下载运行所述模型所需的资源之前,所述方法还包括:检查所述容器和所述图形处理器是否具备满足条件的运行环境;所述从所述云端平台下载运行所述模型所需的资源,包括:在具备满足条件的运行环境时,从所
述云端平台下载运行所述模型所需的资源,所述运行所述模型所需的资源包括运行所述模型所需的模型文件、库文件、数据集文件中的一种或多种。
[0008]在一种可能的实现方式中,基于所述资源使用所述图形处理器运行所述模型之前,所述方法还包括:从所述云端平台拷贝与所述模型相关的深度神经网络库文件和框架文件;编译所述深度神经网络库文件,安装所述框架文件;所述基于所述资源使用所述图形处理器运行所述模型,包括:所述深度神经网络库文件编译好且所述框架文件安装好后,基于所述资源使用所述图形处理器运行所述模型。
[0009]在一种可能的实现方式中,所述图形处理器的软件栈包括计算层、框架层和模型层,所述性能原始数据包括与所述模型层对应的模型端到端性能数据、与所述框架层对应的痕迹数据、与所述计算层对应的核函数数据,所述模型的运行阶段包括预处理阶段、内存到显存的数据拷贝阶段、推理阶段、显存到内存的数据拷贝阶段、后处理阶段,所述模型端到端性能数据包括所述模型各运行阶段的耗时和所述模型各运行阶段的吞吐量;所述模型包括多个算子,所述痕迹数据包括每一算子的算子执行耗时;所述算子在运行时调用所述深度神经网络库文件中的核函数,所述核函数数据包括所述核函数的吞吐量和所述核函数的带宽。
[0010]在一种可能的实现方式中,所述运行参数包括多种批尺寸,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:在所述核函数并行运行的情况下,针对所述模型的每一批尺寸,分别获取至少一次所述模型端到端性能数据;重新编译所述深度神经网络库,并在所述核函数串行运行的情况下,基于所述模型各运行阶段的吞吐量最高时对应的批尺寸,获取所述痕迹数据和所述核函数数据。
[0011]在一种可能的实现方式中,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:分析所述性能原始数据,得到所述模型的运行环境数据和所述模型的属性数据;调整所述模型端到端性能数据、所述痕迹数据、所述核函数数据、所述运行环境数据以及所述属性数据的数据结构,使其符合所述预设的数据结构。
[0012]在一种可能的实现方式中,所述方法还包括:上传所述性能原始数据到所述云端平台;从所述云端平台接收来自用户设备的历史数据分析指示时,从所述云端平台处下载所述性能原始数据,重新执行分析所述性能原始数据得到性能展示数据及之后的步骤。
[0013]根据本公开的另一方面,提供了一种性能分析装置,所述装置应用于计算设备,所述计算设备上设置有实体的图形处理器和虚拟的容器,所述装置包括:接收模块,用于从云端平台接收配置信息,所述配置信息由用户设备上传,所述配置信息指示待分析的模型及所述模型的运行参数;第一拷贝模块,用于从所述云端平台拷贝代码仓库文件,所述代码仓库文件指示所述计算设备分析所述模型在所述图形处理器上运行的性能的方式以及预设的数据结构;分析模块,用于根据所述代码仓库文件指示的方式,从所述云端平台下载运行所述模型所需的资源,基于所述资源使用所述图形处理器运行所述模型,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,所述性能展示数据符合所述预设的数据结构;第一上传模块,用于上传所述性能展示数据到所述云端平台,所述性能展示数据由所述用户设备从所述云端平台下载并展示给用户。
[0014]在一种可能的实现方式中,所述装置还包括:检查模块,用于检查所述容器和所述
图形处理器是否具备满足条件的运行环境;所述从所述云端平台下载运行所述模型所需的资源,包括:在具备满足条件的运行环境时,从所述云端平台下载运行所述模型所需的资源,所述运行所述模型所需的资源包括运行所述模型所需的模型文件、库文件、数据集文件中的一种或多种。
[0015]在一种可能的实现方式中,所述装置还包括:第二拷贝模块,用于从所述云端平台拷贝与所述模型相关的深度神经网络库文件和框架文件;编译安装模块,用于编译所述深度神经网络库文件,安装所述框架文件;所述基于所述资源使用所述图形处理器运行所述模型,包括:所述深度神经网络库文件编译好且所述框架文件安装好后,基于所述资源使用所述图形处理器运行所述模型。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能分析方法,其特征在于,所述方法应用于计算设备,所述计算设备上设置有实体的图形处理器和虚拟的容器,所述方法包括:从云端平台接收配置信息,所述配置信息由用户设备上传,所述配置信息指示待分析的模型及所述模型的运行参数;从所述云端平台拷贝代码仓库文件,所述代码仓库文件指示所述计算设备分析所述模型在所述图形处理器上运行的性能的方式以及预设的数据结构;根据所述代码仓库文件指示的方式,从所述云端平台下载运行所述模型所需的资源,基于所述资源使用所述图形处理器运行所述模型,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,所述性能展示数据符合所述预设的数据结构;上传所述性能展示数据到所述云端平台,所述性能展示数据由所述用户设备从所述云端平台下载并展示给用户。2.根据权利要求1所述的方法,其特征在于,所述从所述云端平台下载运行所述模型所需的资源之前,所述方法还包括:检查所述容器和所述图形处理器是否具备满足条件的运行环境;所述从所述云端平台下载运行所述模型所需的资源,包括:在具备满足条件的运行环境时,从所述云端平台下载运行所述模型所需的资源,所述运行所述模型所需的资源包括运行所述模型所需的模型文件、库文件、数据集文件中的一种或多种。3.根据权利要求1或2所述的方法,其特征在于,基于所述资源使用所述图形处理器运行所述模型之前,所述方法还包括:从所述云端平台拷贝与所述模型相关的深度神经网络库文件和框架文件;编译所述深度神经网络库文件,安装所述框架文件;所述基于所述资源使用所述图形处理器运行所述模型,包括:所述深度神经网络库文件编译好且所述框架文件安装好后,基于所述资源使用所述图形处理器运行所述模型。4.根据权利要求3所述的方法,其特征在于,所述图形处理器的软件栈包括计算层、框架层和模型层,所述性能原始数据包括与所述模型层对应的模型端到端性能数据、与所述框架层对应的痕迹数据、与所述计算层对应的核函数数据,所述模型的运行阶段包括预处理阶段、内存到显存的数据拷贝阶段、推理阶段、显存到内存的数据拷贝阶段、后处理阶段,所述模型端到端性能数据包括所述模型各运行阶段的耗时和所述模型各运行阶段的吞吐量;所述模型包括多个算子,所述痕迹数据包括每一算子的算子执行耗时;所述算子在运行时调用所述深度神经网络库文件中的核函数,所述核函数数据包括所述核函数的吞吐量和所述核函数的带宽。5.根据权利要求4所述的方法,其特征在于,所述运行参数包括多种批尺寸,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:在所述核函数并行运行的情况下,针对所述模型的每一批尺寸,分别获取至少一次所
述模型端到端性能数据;重新编译所述深度神经网络库,并在所述核函数串行运行的情况下,基于所述模型各运行阶段的吞吐量最高时对应的批尺寸,获取所述痕迹数据和所述核函数数据。6.根据权利要求4或5所述的方法,其特征在于,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:分...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1