CN111045912A - 一种ai应用性能评估方法、装置及其相关设备 - Google Patents
一种ai应用性能评估方法、装置及其相关设备 Download PDFInfo
- Publication number
- CN111045912A CN111045912A CN201911386452.7A CN201911386452A CN111045912A CN 111045912 A CN111045912 A CN 111045912A CN 201911386452 A CN201911386452 A CN 201911386452A CN 111045912 A CN111045912 A CN 111045912A
- Authority
- CN
- China
- Prior art keywords
- application
- performance
- target
- data
- performance evaluation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种AI应用性能评估方法,包括根据接收到的评估指令启动目标AI应用;调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值;该AI应用性能评估方法可以对AI应用进行更为有效的性能评估,在保证较高准确度的同时提高了性能评估效率。本申请还公开了一种AI应用性能评估装置、设备及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及网络应用技术领域,特别涉及一种AI应用性能评估方法,还涉及一种AI应用性能评估装置、设备以及计算机可读存储介质。
背景技术
AI(Artificial Intelligence,人工智能)应用概括来讲分为训练和推理两大类,AI训练可以产生深度学习模型用于特征提取或目标预测,模型生成效率越高就代表着生产实践的速度越快;AI推理可以利用训练生成的模型进行场景化任务的实现,AI推理效率越高,用户体验就越好,***性能就越高效。因此,AI应用性能的跟踪、监控、分析至关重要,它可以指导后续如何提高训练效率及推理效率。
现有的AI应用一般基于PyTorch、TensorFlow等的深度学习框架做开发,在跟踪监测上述AI应用时,采用基于Debug程序的代码定位方法,以分析各个功能模块的调用耗时,或者采用NVIDIA-SMI工具确定GPU核心的使用情况。但是,由于深度学习框架封装较多,在定位底层调用时长及函数时比较困难;由于分块定位分析较为耗时,难以了解整体与部分的关系。因此,基于上述两点,目前的AI应用性能分析并没有形成***的方法,更多的还是依靠研发人员的经验进行调优,不仅效率低下,且准确度很低。
因此,如何对AI应用进行更为有效的性能评估,保证较高准确度的同时提高性能评估效率是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种AI应用性能评估方法,该AI应用性能评估方法可以对AI应用进行更为有效的性能评估,在保证较高准确度的同时提高了性能评估效率;本申请的另一目的是提供一种AI应用性能评估装置、***、设备以及计算机可读存储介质,也具有上述有益效果。
为解决上述技术问题,本申请提供了一种AI应用性能评估方法,所述AI应用性能评估方法包括:
根据接收到的评估指令启动目标AI应用;
调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;
调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;
利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值。
优选的,所述根据接收到的评估指令启动目标AI应用,包括:
根据所述评估指令确定所述目标AI应用;
启动所述目标AI应用,以使所述目标AI应用调取预设数据集进行指定模型训练。
优选的,所述调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据,包括:
调用所述TEYE,以TIMELINE模式对所述目标AI应用的运行过程进行监控,获得所述第二性能指标数据。
优选的,所述第一性能指标数据包括GPU数据传输时间和GPU数据计算时间。
优选的,所述第二性能指标数据包括GPU核心利用率和GPU带宽利用率。
优选的,所述利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值,包括:
根据所述GPU数据传输时间和所述GPU数据计算时间计算获得时间指标值;
根据所述GPU核心利用率和所述GPU带宽利用率计算获得硬件指标值;
根据所述时间指标值和所述硬件指标值计算获得所述性能评估值。
优选的,所述AI应用性能评估方法还包括:
将各性能指标数据与对应的预设阈值进行比较分析;其中,所述性能指标数据包括所述第一性能指标数据和所述第二性能指标数据;
当所述性能指标数据不满足所述预设阈值时,调取对应的预设优化策略对所述目标AI应用进行性能优化。
为解决上述技术问题,本申请还提供了一种AI应用性能评估装置,所述AI应用性能评估装置包括:
AI应用启动模块,用于根据接收到的评估指令启动目标AI应用;
第一指标计算模块,用于调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;
第二指标计算模块,用于调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;
性能评估模块,用于利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值。
为解决上述技术问题,本申请还提供了一种AI应用性能评估设备,所述AI应用性能评估设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一种AI应用性能评估方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种AI应用性能评估方法的步骤。
本申请所提供的一种AI应用性能评估方法,包括根据接收到的评估指令启动目标AI应用;调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值。
可见,本申请所提供的AI应用性能评估方法,通过NVPROF和TEYE实现了对AI应用在运行过程中的性能监控,并基于预先设定的性能指标计算规则对监控获得的性能指标数据进行计算,从而获得该AI应用的性能评估值,实现性能评估,该种实现方式无需对代码模块进行debug,有效降低了性能定位分析门槛,也可以从整体上分析AI应用调用API的情况以及单个操作调用所占比例,从而更加全面、准确的获得***性能的检测结果;此外,该种实现方式无需依靠人工经验,可以有效节省人力,保证了较高的性能评估效率和准确度。
本申请所提供的一种AI应用性能评估装置、设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请所提供的一种AI应用性能评估方法的流程示意图;
图2为本申请所提供的一种AI应用性能评估装置的流程示意图;
图3为本申请所提供的一种AI应用性能评估设备的结构示意图。
具体实施方式
本申请的核心是提供一种AI应用性能评估方法,该AI应用性能评估方法可以对AI应用进行更为有效的性能评估,在保证较高准确度的同时提高了性能评估效率;本申请的另一核心是提供一种AI应用性能评估装置、设备以及计算机可读存储介质,也具有上述有益效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
请参考图1,图1为本申请所提供的一种AI应用性能评估方法的流程示意图,该AI应用性能评估方法可以包括:
S101:根据接收到的评估指令启动目标AI应用;
本步骤旨在实现目标AI应用的启动,该目标AI应用即为需要进行性能评估的AI应用,由于对AI应用的性能评估需要AI应用处于运行状态,因此,当需要对某AI应用进行性能评估时,需要先启动AI应用。具体而言,当接收到评估指令时,即可从评估指令中获取目标AI应用的相关信息,以确定目标AI应用,从而启动该AI应用。
优选的,上述根据接收到的评估指令启动目标AI应用,可以包括:根据评估指令确定目标AI应用;启动目标AI应用,以使目标AI应用调取预设数据集进行指定模型训练。
本优选实施例提供了一种较为具体的目标AI应用的启动方法,具体的,AI应用一般用于模型训练和推理,因此,可启动目标AI应用使其进行指定模型的训练,其中,模型训练过程基于预设数据集实现,该预设数据集为预先采集的数据信息的集合,存储于预设存储空间,可直接调用;当然,该预设数据集中数据的类型并不唯一,与待训练模型(指定模型)的类型相对应即可,同样的,待训练模型的类型也不影响本技术方案的实施,可以为任意一种网络模型,如CNN(Convolutional Neural Network,卷积神经网络)训练模型等。
S102:调用NVPROF对目标AI应用的运行过程进行监控,获得第一性能指标数据;
本步骤旨在实现第一性能指标数据的获取,在目标AI应用运行过程中,可直接调用NVPROF对其进行监控,以实现相应性能指标数据的采集,从而获得上述第一性能指标数据。具体而言,NVPROF是一种基于GPU应用开发的特征提取工具,可用于测试了解并优化应用程序性能,如CUDA、OpenACC等,其可以使用户能够从命令行收集和查看分析数据,主要用于实现程序时间性能的测试。
优选的,上述第一性能指标数据可以包括GPU数据传输时间和GPU数据计算时间。
本优选实施例提供了具体类型的第一性能指标数据,即GPU数据传输时间和GPU数据计算时间,其中,GPU数据传输时间可以是***内各个功能模块之间进行数据传输时所使用的时间信息;GPU数据计算时间可以是***内各个功能模块进行数据计算时所使用的时间信息。可以理解的是,以上类型数据仅为本优选实施例提供的一种实现方式,并不唯一,还可以包括其他类型的性能指标,本申请对此不做限定。
S103:调用TEYE对目标AI应用的运行过程进行监控,获得第二性能指标数据;
本步骤旨在实现第二性能指标数据的获取,在目标AI应用运行过程中,可直接调用TEYE对其进行监控,以实现相应性能指标数据的采集,从而获得上述第二性能指标数据。具体而言,TEYE(特征监控分析***)是一种基于X86服务器的高性能应用特征提取工具,主要用于提取高性能应用程序在大规模集群上运行时对***资源占用的情况,并实时反映应用程序的运行特征,从而帮助用户最大限度的在现有平台挖掘应用的计算潜力,进而为***的优化、应用程序的优化以及应用算法的调整、改进提供科学的指引方向。
优选的,上述调用TEYE对目标AI应用的运行过程进行监控,获得第二性能指标数据,可以包括:调用TEYE,以TIMELINE(时间轴)模式对目标AI应用的运行过程进行监控,获得第二性能指标数据。
本优选实施例提供了一种较为具体的第二性能指标数据的获取方法,即基于TIMELINE模式实现。具体而言,在性能监控过程中,可通过定位不同模块GPU的使用率来细化性能分析项,例如,在模型训练过程中,***可分为数据输入读取模块、数据预处理模块、网络模型前向计算模块、反向传播及优化模块、模型传输及保存模块,由此,通过分模块TIMELINE可以判断进程运行对应功能模块时GPU设备的空闲率等,以便及时发现性能瓶颈。
优选的,上述第二性能指标数据可以包括GPU核心利用率和GPU带宽利用率。
本优选实施例提供了具体类型的第二性能指标数据,即GPU核心利用率和GPU带宽利用率,同样的,以上类型数据仅为本优选实施例所提供的一种实现方式,并不唯一,还可以包括其他类型的性能指标,如内存带宽利用率、显存带宽使用率、CPU利用率、PCIE带宽利用率、硬盘读写指标项等,本申请对此不做限定。
S104:利用预设性能指标计算规则对第一性能指标数据和第二性能指标数据进行计算,获得目标AI应用的性能评估值。
本步骤旨在实现对目标AI应用的性能评估,具体的,在监控获得第一性能指标数据和第二性能指标数据后,即可调取预先设定的性能指标计算规则对二者进行代入计算,从而获得该目标AI应用的性能评估值。其中,上述预设性能指标计算规则为预先设定的、用于实现AI应用性能评估计算的计算规则,存储于预设存储空间,在使用时直接调用即可;当然,该预设性能指标计算规则的具体内容并不唯一,由技术人员根据实际需求进行设定即可,例如,可与***类型或应用平台等相对应,本申请对此不做限定。
优选的,上述利用预设性能指标计算规则对第一性能指标数据和第二性能指标数据进行计算,获得目标AI应用的性能评估值,可以包括:根据GPU数据传输时间和GPU数据计算时间计算获得时间指标值;根据GPU核心利用率和GPU带宽利用率计算获得硬件指标值;根据时间指标值和硬件指标值计算获得性能评估值。
本优选实施例提供了一种较为具体的性能评估值的计算方法,即基于GPU数据传输时间、GPU数据计算时间、GPU核心利用率、GPU带宽利用率计算获得,基于GPU数据传输时间和GPU数据计算时间计算得到的是目标AI应用在运行过程中的时间指标数据,基于GPU核心利用率和GPU带宽利用率计算得到的是目标AI应用在运行过程中的硬件指标数据,最后,结合时间指标和硬件指标,即可实现目标AI应用的整体性能评估。
优选的,该AI应用性能评估方法还可以包括:将各性能指标数据与对应的预设阈值进行比较分析;其中,性能指标数据包括第一性能指标数据和第二性能指标数据;当性能指标数据不满足预设阈值时,调取对应的预设优化策略对目标AI应用进行性能优化。
本优选实施例旨在实现AI应用的性能优化,具体而言,在监控获得各个性能指标后,即可将其与对应的标准阈值,即上述预设阈值进行比较,当性能指标数据不满足对应的预设阈值时,则说明对应性能不佳,需要进行性能优化,此时,可调取其对应的优化策略进行性能优化。例如,可预先建立优化策略表,表内性能指标和优化策略相对应,在确定需要优化的性能指标后,直接从优化策略表中调取对应的优化策略即可,由此,实现了对目标AI应用的性能优化。
本申请所提供的AI应用性能评估方法,通过NVPROF和TEYE实现了对AI应用在运行过程中的性能监控,并基于预先设定的性能指标计算规则对监控获得的性能指标数据进行计算,从而获得该AI应用的性能评估值,实现性能评估,该种实现方式无需对代码模块进行debug,有效降低了性能定位分析门槛,也可以从整体上分析AI应用调用API的情况以及单个操作调用所占比例,从而更加全面、准确的获得***性能的检测结果;此外,该种实现方式无需依靠人工经验,可以有效节省人力,保证了较高的性能评估效率和准确度。
在上述各实施例的基础上,以CNN模型训练为例,本申请实施例提供了一种更为具体的AI应用性能评估方法,该方法基于AI应用进行CNN模型训练,并对其训练过程进行监控分析,其所使用测试平台采用X86 Tesla GPU平台,测试过程所依赖的基本的软件环境包括NVIDIA-DRIVER,CUDA,CUDNN,TensorFlow,TEYE,NVPROF等。该AI应用性能监控方法的具体实现流程如下:
(1)基于NVPROF的指标数据获取:
首先,基于TensorFlow框架实现一个基本的CNN训练模型算法,并调用一个测试数据集,在本实施例中,选用ResNet50模型和cifar10数据集进行AI应用训练的测试。进一步,在之前运行代码命令的基础之上使用NVPROF命令,其测试关键项(第一性能指标数据)包括:volta_sgemm(cudnn)_*x*_*、CUDA memcpy PtoP、CUDA memcpy HtoD、CUDA memcpyDtoH;其中,volta_sgemm(cudnn)_*x*_*代表了在GPU上进行数学运算的API的基本模式(GPU数据计算时间),例如:volta_scudnn_128x64_relu_interior_nn_v1,volta代表计算设备,scudnn代表计算库为cudnn,128*64代表矩阵大小,relu代表计算类型,nn为开发库的名称;CUDA memcpy*to*代表数据通信(GPU数据传输时间)。请参照表1,表1为本申请所提供的一种基于NVPROF监控获得的指标数据表:
表1一种基于NVPROF监控获得的指标数据表
表1为获得的NVPROF的重要特征结果,根据特征结果进行分析,可以得出,数据传输占比较大,但数据传输发生于模块程序运行之前和运行之后,会导致GPU的使用率呈现规律性波动;CUDA memory PtoP时间占用少,证明设备之间的通信不存在瓶颈,由此,基于该数据可以知晓内存带宽的通信耗时较长、数据的I/O优化为重点。根据表1,可得GPU_time数据计算约为74.1%,GPU_time数据传输约为25.9%,则:
其中,P1即为时间指标值;GPU_time1为GPU数据计算时间,GPU_time2为GPU数据传输时间。
(2)基于TEYE的指标数据获取:
在AI应用运行过程中,利用TEYE工具和TIMELINE模式提取关键特征数据(第二功能指标数据),具体可包括:内存带宽检测情况(mem_total_bw_GB)、PCIE带宽检测(PCIE_WR_bw_GB)、GPU核心使用率检测(GPU_rate)、GPU带宽使用率检测(GPU_Mem_rate)、GPU功耗检测(GPU_Power)。其中,如若内存带宽和PCIE带宽均未达到实际使用的峰值,会间接导致显存带宽的利用率无法达到70%以上;显存带宽的利用效率在一定程度上反映了GPU的使用效率,也即AI应用的效率;当GPU使用率、GPU功耗达到峰值的60%~90%存在波动时,说明还有一定的效率提升空间,此时,提高计算或通信性能是该AI应用性能提升的关键,实现方法包括增大batchsize、改变数据读入方式、使用混合精度训练等。进一步,通过定位不同模块GPU的使用率来细化性能分析项,模块具体可分为:1、数据输入读取模块;2、数据预处理模块;3、CNN或神经网络前向计算模块;4、反向传播及优化模块;5、模型传输及保存模块,由此,通过分模块timeline即可判断进程运行对应模块时GPU设备的空闲率,进而发现性能瓶颈。请参照表2,表2为本申请所提供的一种基于TEYE监控获得的指标数据表:
表2一种基于TEYE监控获得的指标数据表
根据表2获得的TEYE的重要特征结果,可以知晓5个模块中GPU_rate、GPU_mem_rate、time的数据,则:
其中,P2即为硬件指标值;GPUrate为GPU核心利用率,GPU_menrate为GPU带宽利用率,n为模块总数量,timei为第i个模块运行时占用时间,time为总时长。
(3)总体性能评估:
调取预设性能指标计算规则,对上述两套数据进行整体分析,其中,预设性能指标计算规则为:
其中,P值即为上述性能评估值,可以表征GPU计算性能的表现情况,当P取值低于0.2时,即可说明计算较充分,计算效率较高,反之,效率较低。
由此,基于表1和表2的计算数据,可得P的数值为0.17,小于0.2,说明该AI应用对GPU设备的使用较充分。
(4)性能优化:
根据经验,当GPU核心使用率在85%~100%时,可认为设备使用充分,如果此时是操作计算占比较大,则AI应用性能优化需要依靠新设备的计算力提升;如果此时是CUDAmemoey*To*操作总时间占比较大,则考虑继续优化数据输入流程,并查看内存带宽、PCIE带宽是否发生瓶颈。当GPU核心使用率大部分时间低于85%时,说明计算设备的使用率并不充分,此时需要增加计算或通信的值,如增大batch、增加计算层数、减少数据的IO、用更高效的数据通信方式等。
可见,本申请实施例所提供的AI应用性能评估方法,通过NVPROF和TEYE实现了对AI应用在运行过程中的性能监控,并基于预先设定的性能指标计算规则对监控获得的性能指标数据进行计算,从而获得该AI应用的性能评估值,实现性能评估,该种实现方式无需对代码模块进行debug,有效降低了性能定位分析门槛,也可以从整体上分析AI应用调用API的情况以及单个操作调用所占比例,从而更加全面、准确的获得***性能的检测结果;此外,该种实现方式无需依靠人工经验,可以有效节省人力,保证了较高的性能评估效率和准确度。
为解决上述问题,请参考图2,图2为本申请所提供的一种AI应用性能评估装置的结构示意图,该AI应用性能评估装置可包括:
AI应用启动模块100,用于根据接收到的评估指令启动目标AI应用;
第一指标计算模块200,用于调用NVPROF对目标AI应用的运行过程进行监控,获得第一性能指标数据;
第二指标计算模块300,用于调用TEYE对目标AI应用的运行过程进行监控,获得第二性能指标数据;
性能评估模块400,用于利用预设性能指标计算规则对第一性能指标数据和第二性能指标数据进行计算,获得目标AI应用的性能评估值。
可见,本申请实施例所提供的AI应用性能评估装置,通过NVPROF和TEYE实现了对AI应用在运行过程中的性能监控,并基于预先设定的性能指标计算规则对监控获得的性能指标数据进行计算,从而获得该AI应用的性能评估值,实现性能评估,该种实现方式无需对代码模块进行debug,有效降低了性能定位分析门槛,也可以从整体上分析AI应用调用API的情况以及单个操作调用所占比例,从而更加全面、准确的获得***性能的检测结果;此外,该种实现方式无需依靠人工经验,可以有效节省人力,保证了较高的性能评估效率和准确度。
作为一种优选实施例,上述AI应用启动模块100可具体用于根据评估指令确定目标AI应用;启动目标AI应用,以使目标AI应用调取预设数据集进行指定模型训练。
作为一种优选实施例,上述第二指标计算模块300可具体用于调用TEYE,以TIMELINE模式对目标AI应用的运行过程进行监控,获得第二性能指标数据。
作为一种优选实施例,上述第一性能指标数据可包括GPU数据传输时间和GPU数据计算时间。
作为一种优选实施例,上述第二性能指标数据可包括GPU核心利用率和GPU带宽利用率。
作为一种优选实施例,上述性能评估模块400可以包括:
时间指标计算单元,用于根据GPU数据传输时间和GPU数据计算时间计算获得时间指标值;
硬件指标计算单元,用于根据GPU核心利用率和GPU带宽利用率计算获得硬件指标值;
性能评估单元,用于根据时间指标值和硬件指标值计算获得性能评估值。
作为一种优选实施例,该AI应用性能评估装置还可包括性能优化模块,用于将各性能指标数据与对应的预设阈值进行比较分析;其中,性能指标数据包括第一性能指标数据和第二性能指标数据;当性能指标数据不满足预设阈值时,调取对应的预设优化策略对目标AI应用进行性能优化。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,请参考图3,图3为本申请所提供的一种AI应用性能评估设备的结构示意图,该AI应用性能评估设备可包括:
存储器1,用于存储计算机程序;
处理器2,用于执行计算机程序时可实现上述任意一种AI应用性能评估方法的步骤。
对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现上述任意一种AI应用性能评估方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的AI应用性能评估方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。
Claims (10)
1.一种AI应用性能评估方法,其特征在于,包括:
根据接收到的评估指令启动目标AI应用;
调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;
调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;
利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值。
2.如权利要求1所述的AI应用性能评估方法,其特征在于,所述根据接收到的评估指令启动目标AI应用,包括:
根据所述评估指令确定所述目标AI应用;
启动所述目标AI应用,以使所述目标AI应用调取预设数据集进行指定模型训练。
3.如权利要求1所述的AI应用性能评估方法,其特征在于,所述调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据,包括:
调用所述TEYE,以TIMELINE模式对所述目标AI应用的运行过程进行监控,获得所述第二性能指标数据。
4.如权利要求1所述的AI应用性能评估方法,其特征在于,所述第一性能指标数据包括GPU数据传输时间和GPU数据计算时间。
5.如权利要求4所述的AI应用性能评估方法,其特征在于,所述第二性能指标数据包括GPU核心利用率和GPU带宽利用率。
6.如权利要求5所述的AI应用性能评估方法,其特征在于,所述利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值,包括:
根据所述GPU数据传输时间和所述GPU数据计算时间计算获得时间指标值;
根据所述GPU核心利用率和所述GPU带宽利用率计算获得硬件指标值;
根据所述时间指标值和所述硬件指标值计算获得所述性能评估值。
7.如权利要求1至6任意一项所述的AI应用性能评估方法,其特征在于,还包括:
将各性能指标数据与对应的预设阈值进行比较分析;其中,所述性能指标数据包括所述第一性能指标数据和所述第二性能指标数据;
当所述性能指标数据不满足所述预设阈值时,调取对应的预设优化策略对所述目标AI应用进行性能优化。
8.一种AI应用性能评估装置,其特征在于,包括:
AI应用启动模块,用于根据接收到的评估指令启动目标AI应用;
第一指标计算模块,用于调用NVPROF对所述目标AI应用的运行过程进行监控,获得第一性能指标数据;
第二指标计算模块,用于调用TEYE对所述目标AI应用的运行过程进行监控,获得第二性能指标数据;
性能评估模块,用于利用预设性能指标计算规则对所述第一性能指标数据和所述第二性能指标数据进行计算,获得所述目标AI应用的性能评估值。
9.一种AI应用性能评估设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的AI应用性能评估方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的AI应用性能评估方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911386452.7A CN111045912B (zh) | 2019-12-29 | 2019-12-29 | 一种ai应用性能评估方法、装置及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911386452.7A CN111045912B (zh) | 2019-12-29 | 2019-12-29 | 一种ai应用性能评估方法、装置及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045912A true CN111045912A (zh) | 2020-04-21 |
CN111045912B CN111045912B (zh) | 2022-03-22 |
Family
ID=70241155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911386452.7A Active CN111045912B (zh) | 2019-12-29 | 2019-12-29 | 一种ai应用性能评估方法、装置及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045912B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742243A (zh) * | 2021-09-17 | 2021-12-03 | 京东科技信息技术有限公司 | 应用评测方法、装置、电子设备和计算机可读介质 |
CN114510405A (zh) * | 2022-01-28 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 指标数据评估方法、装置、设备、存储介质及程序产品 |
CN116701125A (zh) * | 2023-07-31 | 2023-09-05 | 太初(无锡)电子科技有限公司 | 一种ai芯片的性能数据采集方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317563A1 (en) * | 2014-05-01 | 2015-11-05 | International Business Machines Corporation | Predicting application performance on hardware accelerators |
CN108683663A (zh) * | 2018-05-14 | 2018-10-19 | 中国科学院信息工程研究所 | 一种网络安全态势的评估方法及装置 |
CN110442516A (zh) * | 2019-07-12 | 2019-11-12 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 信息处理方法、设备及计算机可读存储介质 |
-
2019
- 2019-12-29 CN CN201911386452.7A patent/CN111045912B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317563A1 (en) * | 2014-05-01 | 2015-11-05 | International Business Machines Corporation | Predicting application performance on hardware accelerators |
CN108683663A (zh) * | 2018-05-14 | 2018-10-19 | 中国科学院信息工程研究所 | 一种网络安全态势的评估方法及装置 |
CN110442516A (zh) * | 2019-07-12 | 2019-11-12 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 信息处理方法、设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
SUYUAN LUO等: ""A novel CNN-DDPG based AI-trader: Performance and roles in business operations"", 《TRANSPORTATION RESEARCH PART E: LOGISTICS AND TRANSPORTATION REVIEW》 * |
无: ""浪潮携三大AI计算主力军亮相百度AI开发者大会"", 《电脑知识与技术(经验技巧)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742243A (zh) * | 2021-09-17 | 2021-12-03 | 京东科技信息技术有限公司 | 应用评测方法、装置、电子设备和计算机可读介质 |
CN113742243B (zh) * | 2021-09-17 | 2024-03-01 | 京东科技信息技术有限公司 | 应用评测方法、装置、电子设备和计算机可读介质 |
CN114510405A (zh) * | 2022-01-28 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 指标数据评估方法、装置、设备、存储介质及程序产品 |
CN116701125A (zh) * | 2023-07-31 | 2023-09-05 | 太初(无锡)电子科技有限公司 | 一种ai芯片的性能数据采集方法 |
CN116701125B (zh) * | 2023-07-31 | 2023-10-27 | 太初(无锡)电子科技有限公司 | 一种ai芯片的性能数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111045912B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045912B (zh) | 一种ai应用性能评估方法、装置及其相关设备 | |
US10642642B2 (en) | Techniques to manage virtual classes for statistical tests | |
CN109840589A (zh) | 一种在fpga上运行卷积神经网络的方法、装置及*** | |
CN108334408B (zh) | 代码执行方法、装置、终端设备及计算机可读存储介质 | |
CN114862656A (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
CN114580263A (zh) | 基于知识图谱的信息***故障预测方法及相关设备 | |
US20230305880A1 (en) | Cluster distributed resource scheduling method, apparatus and device, and storage medium | |
CN116126346B (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
CN110796591B (zh) | 一种gpu卡的使用方法及相关设备 | |
CN110348578A (zh) | 一种安全事件情景推演构建方法、***、设备及介质 | |
CN112463432A (zh) | 基于指标数据的巡检方法、装置及*** | |
US20240241808A1 (en) | Application performance test method and apparatus, and method and apparatus for establishing performance test model | |
Cunha et al. | Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds | |
CN110610140A (zh) | 人脸识别模型的训练方法、装置、设备及可读存储介质 | |
CN112181853A (zh) | 程序调试方法、装置及*** | |
CN114021733B (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN112069022B (zh) | 一种npu型服务器功耗测试方法及*** | |
CN114661571A (zh) | 模型评测方法、装置、电子设备和存储介质 | |
CN113723538A (zh) | 基于层次化迁移学***台功耗性能预测方法及*** | |
CN108073502B (zh) | 一种测试方法及其*** | |
CN118171743B (zh) | Ai智算平台管理方法及*** | |
CN118093434B (zh) | 一种智能化信息***性能评估与测试方法及*** | |
KR101997012B1 (ko) | 오토마타 상태 복잡도에 기초한 프로그램의 리소스 예측 방법 및 이를 적용한 장치 | |
CN113722292B (zh) | 分布式数据***的应灾处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |