CN116560962A - 内核性能验证方法、装置、电子设备及存储介质 - Google Patents
内核性能验证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116560962A CN116560962A CN202310546107.5A CN202310546107A CN116560962A CN 116560962 A CN116560962 A CN 116560962A CN 202310546107 A CN202310546107 A CN 202310546107A CN 116560962 A CN116560962 A CN 116560962A
- Authority
- CN
- China
- Prior art keywords
- target
- test case
- performance
- case group
- kernel
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012360 testing method Methods 0.000 claims abstract description 551
- 238000013461 design Methods 0.000 claims abstract description 58
- 230000006870 function Effects 0.000 claims description 73
- 238000005259 measurement Methods 0.000 claims description 72
- 238000004422 calculation algorithm Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009897 systematic effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 238000009662 stress testing Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/3433—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 for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种内核性能验证方法、装置、电子设备及存储介质,其中,所述方法,包括:获取用目标测试用例组的元数据和所述目标测试用例组的性能配置值;元数据与内核性能验证需求相关;基于目标测试用例组的元数据和性能配置值,确定目标测试用例组的目标理论值;根据目标理论值和目标测试用例组的各个测试用例所对应的测试结果文件,获取目标测量值;对目标理论值和目标测量值进行比较,得到内核性能验证结果。本发明实施例所提供的技术方案,通过基于测试用例与内核性能验证进行分层处理,可以系统化验证芯片设计的内核性能,提升内核性能验证的准确性和便捷性。
Description
技术领域
本申请实施例涉及芯片设计验证技术领域,具体涉及一种内核性能验证方法、装置、电子设备及存储介质。
背景技术
性能验证在芯片设计的前端验证中占据很重要的地位。性能验证通过计算芯片设计的理论性能值,并将计算得到的理论值与基于芯片设计的仿真测试结果中提取到的相对应的测量值进行对比来实现。芯片设计的内核(core)是芯片设计处理数据的核心,因此如何提供技术方案,以系统化验证芯片设计的内核性能,提升内核性能验证的准确性和便捷性,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种内核性能验证方法、装置、电子设备及存储介质,以系统化验证芯片设计的内核性能,提升内核性能验证的准确性和便捷性。
为实现上述目的,本发明实施例提供如下技术方案。
第一方面,本发明实施例提供一种内核性能验证方法,包括:
获取目标测试用例组的元数据和所述目标测试用例组的性能配置值;所述目标测试用例组的元数据与内核性能验证需求相关;
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;以及,根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;
对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
第二方面,本发明实施例提供一种内核性能验证装置,包括:
测试用例性能模块,用于获取目标测试用例组的元数据;所述目标测试用例组的元数据与内核性能验证需求相关;
内核性能模块,包括理论值确定模块、测量值获取模块和性能验证模块;其中,所述理论值确定模块,用于基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;
所述测量值获取模块,用于根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;
所述性能验证模块,用于对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如第一方面所述的内核性能验证方法。
第四方面,本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如第一方面所述的内核性能验证方法。
本发明实施例提供了一种内核性能验证方法,包括:获取目标测试用例组的元数据和所述目标测试用例组的性能配置值,基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值执行内核性能验证处理,得到内核性能验证结果;所述目标测试用例组的元数据与内核性能验证需求相关;所述内核性能验证处理包括:基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;以及,根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。在本发明实施例所提供的内核性能验证方法中,可以基于各个测试用例的性能配置值和各个测试用例的元数据,计算针对于内核性能验证的理论值和测量值;从而可以基于理论值和测量值的比较,得到内核性能验证结果,实现内核性能验证的系统化处理。可见,本发明实施例所提供的内核性能验证方法,针对于任一芯片设计的内核性能验证,都可以直接利用目标测试用例组的各个测试用例,获取各个测试用例的元数据和性能配置值,自动化系统化的完成内核性能验证,同时还可以将测试用例的性能配置值以及元数据的处理过程,与内核性能验证时理论值、测量值以及内核性能验证结果的计算过程进行分层实现,以便于根据不同的测试用例实现不同需求下的内核性能验证;可以系统化实现芯片设计的内核性能验证,同时提升内核性能验证的准确性和便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例所提供的内核性能验证方法的一流程示意图;
图2是本发明实施例所提供的内核性能验证方法的另一流程示意图;
图3是本发明实施例所提供的内核性能验证装置的一框架示意图;
图4是利用本发明实施例所提供的内核性能验证方法获得的目标理论值的一结果示意图;
图5是利用本发明实施例所提供的内核性能验证方法获得的内核性能验证的一结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于在芯片设计的定义过程中,对于芯片设计的运算和数据传输都有要求,如果可以在芯片设计的实现阶段尽早地得出一些基本数据,为硅后测试测算出一些性能数据,可以帮助提前指明芯片设计的实际性能是否满足设计需求。在一些情况下对于可以进行后续调整的芯片设计还可以做出完善芯片性能的修改,同时,在芯片设计最终完成之前提前进行性能测试的方式也可以使得硅前验证与硅后测试使用的性能测试用例保持一致,进而得出有帮助的性能数据。
性能验证用来衡量一个芯片设计(例如深度计算单元)在特定的工作负载下的响应能力和稳定性,同时通过性能报告也可以用来分析和优化芯片设计的质量标准,例如可靠性和资源使用能力。因此,在前端的芯片设计的验证中性能验证占据很重要的地位。
性能验证是具有一套有别于功能验证和功耗验证等的验证方法,它主要通过计算内核性能的理论值,并将理论值与测试结果文件中提取的相对应的测量值进行对比来工作。性能验证是一门实用的计算机科学工程方法,且在软件工程测试中分类较多,譬如有负载测试(load testing)、压力测试(stress testing)、浸泡测试(soak testing)、尖峰冲击测试(spike testing)、配置测试(configuration testing)、隔断测试(isolationtesting)等。
芯片设计的数据处理能力主要依赖于内核(core)的数据处理能力,因此对芯片设计的性能验证主要针对于内核性能验证。但是,并没有针对于芯片设计的整体模块的系统化性能验证方法,也就更没有针对于内核性能验证的系统化方法。在一些内核性能验证的示例中,可以利用人工填写内核性能的理论值计算表格,并针对完整的芯片设计内容所形成的项目文件进行调整;在获得内核性能的测量值时则由人工运行脚本设置参数,进行汇总后根据不同场景不同项目需求即芯片所能实现的不同功能来确定测试用例对应的测试结果;这就造成内核性能验证的过程复杂,人工操作容易出现错误的问题。
针对于上述问题,本发明实施例提供了一种内核性能验证方法,以自动化和系统化的完成内核性能验证。
请参考图1,图1是本发明实施例所提供的内核性能验证方法的一流程示意图。
如图所示,该流程可以包括以下步骤:
步骤S100,获取目标测试用例组的元数据和所述目标测试用例组的性能配置值。
所述目标测试用例组的元数据与内核性能验证需求相关。
所述目标测试用例组的元数据包括针对于不同类型的内核功能验证情境下,所设置的目标测试用例组中每一个测试用例的负载;这就使得在不同的内核功能验证情境下,目标测试用例组所包含的内核的各个子对象可以基于不同的测试用例所对应的负载进行编译运行,从而得到不同的理论值和测量值,进而可以实现针对于不同内核功能验证情境下的内核性能验证。
在一些实施方式中,所述目标测试用例组的各个测试用例可以基于内核性能验证需求对应的内核功能进行设置。
示例性的,当要验证的内核功能为内核的缓存存储功能时,所述目标测试用例组的各个测试用例可以基于缓存存储功能进行设置,即得到用于验证缓存存储功能的一组测试用例,从而形成用于验证缓存存储功能的目标测试用例组。
当目标测试用例组的各个测试用例为基于缓存存储功能设置时,目标测试用例组的各个测试用例的元数据可以为在验证缓存存储功能时,所包含的各个子对象,例如将内核的子模块block A中的数据a通过总线bus x存储到内核的子模块block B中时,子对象可以为子模块block A、总线bus x、子模块block B等。
基于内核性能验证需求对应的内核功能来设置目标测试用例组,从而可以应对不同的内核性能验证需求,灵活实现内核性能验证。
需要说明的是,所述目标测试用例组为当前用于进行内核性能验证使用的测试用例组。
所述性能配置值为各个测试用例组在基于对应的内核功能搭建完成验证环境时,在验证环境中编译和运行各个测试用例时所需要的各个子对象的性能值,以使各个测试用例在编译和运行时,各个子对象能够完成内核功能的验证。当然,在搭建验证环境时,还需要获取搭建验证环境所需的内核的设计参数或者芯片的关键设计参数。
需要说明的是,性能配置值是根据不同的内核功能所建立的各个测试用例组中各个测试用例对应设置的,内核的设计参数和芯片的关键设计参数是在设计芯片时,根据芯片的设计需求预先定义好,无需调整的。
为便于获取测试用例编译和运行所需数据(例如获取目标测试用例组的性能配置值和搭建验证环境所需的内核的设计参数和芯片的关键设计参数),在一种实施方式中,所述获取所述目标测试用例组的性能配置值,可以包括:
获取根据所述内核对应的芯片的设计需求设置的项目配置文件,所述项目配置文件所记录的项目名称与所述测试用例组的名称对应,所述芯片的设计需求包含内核功能;根据所述项目配置文件获取所述目标测试用例组的性能配置值。
项目配置文件包含有针对于各个子对象的性能值和芯片中各个功能单元(例如内核)的设计参数所建立的项目,可以在验证最终获得的完整芯片设计或者某一功能单元的功能时,为芯片所包含的功能单元或者功能单元在某一功能下所包含的子对象提供性能值和设计参数,因此所述项目配置文件中可以用于记录和所述项目相关的关键数据;例如所述配置文件中可以记录项目(proj)名称,项目所包含的引擎数量(engine),项目包含的各个模块的接口数量(interface_numbers),以及项目可以处理的比特数(例如芯片设计的整体系统system所能够处理的比特数)。
例如项目中所设置的性能参数是针对于子对象的,则项目可以基于子对象的名称进行命名,方便内核性能验证时的调用。
当项目所表示的是子对象时,由于子对象与建立各个测试用例组时所对应的一类内核功能相关,因此可以基于所述子对象对应的项目名称确定对应的内核功能的项目名称;将基于内核功能建立的所述目标测试用例组的名称与所述项目配置文件所记录的内核功能的项目名称对应,从而在后续进行内核性能验证时,可以基于目标测试用例组的名称从项目配置文件中找到对应的项目名称即项目proj,进而获取目标测试用例组的性能配置值以及搭建验证该组目标测试用例组所需的设计参数。
项目配置文件基于完整的芯片设计进行各项设计参数和性能配置值的记录,从而可以满足不同内核性能验证的需求,便于基于不同内核性能验证查找到目标测试用例组的各个测试用例对应的性能配置值和设计参数。
步骤S101,基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值。
基于前述内容,可以知道,在实现内核性能验证时,所基于的是目标理论值和内核功能对应建立的测试用例运行后得到的目标测量值的比较结果,因此,在获取目标测量值的过程中,需要基于不同类型的内核功能,对应设置不同的测试用例组,进而得到不同测试用例组的各个测试用例的目标理论值,为后续获得内核性能验证结果提供数据基础。
为便于系统化的完成内核性能验证,本发明实施例通过利用获取到的目标测试用例组的元数据和目标测试用例组的性能配置值,执行内核性能验证处理以计算目标测量值和目标理论值,进而获取内核性能验证结果,便于系统化的计算内核性能验证结果。
步骤S102,根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值。
在得到目标测试用例组的各个测试用例的目标理论值之后,运行编译不同的测试用例组的各个测试用例得到测试结果文件,进而根据目标理论值,和各个测试用例的测试结果文件,获取目标测量值,以保证最终得到的目标测量值的可靠性。
步骤S103,对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
所述目标测试用例组为基于当前所要验证的内核功能设置的各个测试用例形成的测试用例组,也就是说基于一类内核功能会对应设置有多个测试用例,以形成一组目标测试用例组。因此,在进行内核性能验证时,对于当前内核性能验证所对应的一类内核功能,得到各个测试用例的目标理论值,以进一步基于目标理论值和各个测试用例的测试结果文件确定目标测量值,从而自动化和系统化的得到内核验证结果。
可见,本发明实施例所提供的内核性能验证方法,针对于任一芯片设计的内核性能验证,都可以直接利用目标测试用例组的各个测试用例,获取各个测试用例的元数据和性能配置值,自动化系统化的完成内核性能验证,同时还可以将测试用例的性能配置值以及元数据的处理过程,与内核性能验证时理论值、测量值以及内核性能验证结果的计算过程进行分层实现,以便于根据不同的测试用例实现不同需求下的内核性能验证;可以系统化实现芯片设计的内核性能验证,同时提升内核性能验证的准确性和便捷性。
基于前述内容,可以知道,在基于内核功能设置各个测试用例组时,测试用例组中包含有多个测试用例,因此在基于一类内核功能建立的测试用例组中,测试用例组的各个测试用例所对应包含的子对象是确定且统一的,为了能够保证利用各个测试用例验证当前内核功能的验证效果,因此可以针对各个子对象设置不同的测试用例,在不同的测试用例下,所得到的各个子对象的性能值则会发生变化,进而每一个测试用例所得到的目标理论值也是不同的;从而可以满足不同的测试用例的负载下,得到同一个子对象的不同性能值,能够保证最终的测试结果的可靠性。
在一种实施方式中,步骤S101的实现可以包括:
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,获取所述目标测试用例组的各个测试用例中,各个子对象所对应的性能值;所述子对象基于设置测试用例组时对应的内核功能确定;在各个所述性能值中确定目标性能值为所述目标测试用例组的各个测试用例所对应的目标理论值。
在一个具体实施方式中,所述目标性能值可以为符合预定义规则的性能值,例如预定义规则为性能最差,则在各个性能值中确定的目标性能值可以为各个性能值中表示性能最差的性能值。
基于前述介绍,可以知道,测试用例组是基于一类的内核功能设置的,一个测试用例组中包含有多个测试用例;从而在验证当前一类的内核功能的情况下,对应内核功能建立的测试用例组包括验证该内核功能所涉及到的各个内核的子对象,进而测试用例组中的各个测试用例可以针对于不同的子对象的验证进行设置。例如,在测试内核的缓存存储功能时,涉及到五个子对象,分别为两个模块block A和block B,以及三个总线bus x、bus y、bus z,从而基于五个子对象,建立测试用例组;基于测试内核的缓存存储功能建立的测试用例组中,各个测试用例可以分别针对于每个子对象建立对应的测试用例,例如针对于总线bus x在两个不同参数值下获得内核的缓存存储功能测试结果,从而基于两个不同该参数值可以针对bus x建立两个测试用例,并得到对应的测试结果文件perf_test_config_x0和perf_test_config_x1。当然,还可以针对于bus x建立三个或者四个等多个测试用例,满足测试需求即可。同样的,针对于其他子对象block A、block B、bus y、bus z同样可以基于不同的参数值建立不同的测试用例,从而可以测试到同一个子对象在不同的测试用例的负载下的性能值,进而得到目标理论值和目标测量值,以满足同一类的内核的缓存存储功能的验证需求。
目标测试用例组的元数据作为目标测试用例组的各个测试用例的负载,目标测试用例组的性能配置值用于根据建立该目标测试用例组对应的内核功能,确定测试该内核功能所需要的子对象,以基于目标测试用例组的性能配置值搭建验证该内核功能的验证环境,从而在不同的测试用例的元数据即负载的输入下,得到各个子对象所对应的不同的性能值,进而确定每一个测试用例下,表示性能最差的性能值,以表示性能最差的性能值作为目标理论值,从而保证该内核功能的测试过程可以顺利进行,每一个子对象都能够正常工作,使得测试用例能够正常编译,保证后续的运行(run)能够正常执行。
基于不同的性能,所述在各个所述性能值中确定目标性能值,可以是确定性能最差的性能值作为目标性能值,所述性能最差的性能值所表示的含义可能不同:
1、表示性能最差的性能值可以是在每一个测试用例下,各个子对象对应的性能值中,性能值最小的;例如模块block所对应的性能值为block的数据运算能力所对应的数值,数值越小表示block的数据运算能力越差,因此在确定表示性能最差的性能值为目标性能值,以作为目标理论值时,可以选择block对应的最小的性能值作为目标理论值;当然,也可以是例如总线bus所对应的性能值为运输数据的数据量所对应的数值,数值越小表示bus的数据运输能力越差,因此在确定表示性能最差的性能值为目标性能值,以作为目标理论值时,可以选择bus对应的最小的性能值作为目标理论值。
2、表示性能最差的性能值也可以是在每一个测试用例下,各个子对象对应的性能值中,性能值最大的;例如总线bus所对应的性能值为bus的数据传输速率的时长所对应的数值,则数值越大表示bus的数据传输能力越差,因此在确定表示性能最差的性能值为目标性能值,以作为目标理论值时,可以选择bu s对应的最大的性能值作为目标理论值。
为能够实现基于目标测试用例组的元数据和目标测试用例组的性能配置值一次性完整的实现内核性能验证,在前述基于目标测试用例组的元数据和目标测试用例组的性能配置值得到目标理论值的基础上,进一步的确定目标测量值,为后续进行内核性能验证提供数据基础。
在一种实施方式中,步骤S102的实现可以包括:
获取所述目标理论值对应的子对象,得到瓶颈值;根据所述瓶颈值确定针对于所述子对象的测试用例所对应的测试结果文件,得到目标测试结果文件;基于所述目标测试结果文件获取目标测量值。
基于前述内容,可以知道在一组目标测试用例组中,各个测试用例的子对象均为当前目标测试用例组对应的内核功能在验证时所涉及到的子对象。因此在基于目标测试用例组的元数据和目标测试用例组的性能配置值确定得到每一个测试用例的目标理论值的基础上,由于每一个测试用例的目标理论值为表示子对象性能最差的性能值;因此将每一个测试用例确定的目标理论值对应的子对象确定为瓶颈值,可以保证每一个测试用例的正常编译以及运行;进而基于瓶颈值确定针对于所述子对象的测试用例的测试结果文件,得到目标测试结果文件,并根据目标测量结果文件获取目标测量值。
需要说明的是,由于在针对于各个子对象建立各个测试用例时,可以基于同一个子对象的不同参数值建立不同的测试用例,因此,在基于瓶颈值对应的子对象确定测试用例,以得到目标测试结果文件时,所述目标测试结果文件的数量可以有多个。
在一种实施方式中,所述基于所述目标测试结果文件获取目标测量值,可以包括:
获取所述目标测试结果文件对应的至少一个测量算法;基于设定算法标识在至少一个所述测量算法中确定目标测量算法,利用所述目标测量算法对所述目标测试结果文件进行计算,得到所述目标测量值。
所述测量算法为计算测量值的计算函数,每一个测试用例均对应有多个测量算法。因此根据瓶颈值对应的子对象,确定出目标测试用例组中对应的测试用例之后,确定出的测试用例会对应有多个测量算法,例如3个或者4个,当然也可以包含有其他数量的测量算法,可以根据实际验证情景下对应的测试用例进行确定。
由于内核性能验证时,在计算比较结果时是根据一个目标理论值和一个目标测量值进行比较以得到最终内核性能验证结果。因此在基于测试用例确定到多个测试用例适用的测量算法之后,可以在多个测量算法中确定出一个目标测量算法,利用目标测量算法对所述目标测试结果文件进行计算,得到目标测量值;便于后续得到内核性能验证结果。
为能够满足不同测试用例的测量算法的获取,在一些实施方式中,所述内核性能验证方法还可以包括:
获取根据所述内核对应的芯片验证需求建立的应用集;所述应用集用于提供测量算法,以对测试结果文件进行计算;所述芯片验证需求包括性能验证需求和功能验证需求,所述性能验证需求包括所述内核性能验证需求。
需要说明的是,所述芯片验证需求面向的是芯片设计的整体结构,既要验证芯片设计的整体结构(包含形成芯片的各个功能单元例如内核,以及每一个功能单元包含的各个子对象,例如内核的缓存、总线)功能,又要验证芯片设计的整体结构性能。所述芯片验证需求包含性能验证需求和功能验证需求,而所述性能验证需求进一步包含所述内核性能验证需求。
其中,功能验证需求用于验证能否正常实现芯片或者内核的某一个功能,例如验证内核能否实现数据运算的功能;性能验证需求用于验证内核或者属于芯片的其他功能单元在实现某一功能时的实现效果,例如在验证内核运算数据的性能时,可以验证内核运算数据时的运算效率,以确定内核运算数据的性能即内核运算数据的速度的快慢。
所述应用集中可以包含有内核性能验证所需的全部测量算法(measure)的算法库,从而满足针对于不同测试用例获取对应的多个测量算法的需求。
当然,在其他实施方式中,为了满足内核性能验证的不同需求,应用集还可以提供广泛的应用程序用于支撑整个内核性能验证的实现;例如应用集中除了针对测量值计算的测量算法,还可以包含有广泛应用的应用函数,以及针对理论值计算的函数以服务于前述目标理论值的计算;还可以有为后续的回归测试提供服务的函数,例如用于记录回归测试进程以及将测量值结果或者最终的内核性能验证结果进行图形化界面展示的函数,从而应用集的各个功能函数的建立能够满足内核性能验证的完整系统化的实现。
在另一些实施方式中,在所述获取所述目标测试结果文件对应的至少一个测量算法的步骤之后,还可以包括:
利用各个所述测量算法对所述目标测试结果文件进行计算,得到多个测量值,并将多个所述测量值进行展示。
当没有计算最终的内核性能验证结果的需求时,可以根据实际需要,利用每一个测量算法均对确定出的测试用例结果文件进行一次计算,并将结果进行展示,方便查看不同测量算法对测试用例结果文件的计算结果,以满足其他数据分析的需求。
在得到目标理论值和目标测量值的基础上,可以进行最终的比较以得到内核性能验证结果,在一种实施方式中,步骤S103的实现可以包括:
当所述目标测量值与所述目标理论值的比值达到设定百分比时,得到所述目标测试用例组的各个测试用例的内核性能验证结果为测试通过;所述设定百分比基于所述目标测量值和所述目标理论值对应的测试用例的类型确定。
所述设定百分比可以根据测试用例的类型进行设定,例如测试用例的类型为前述所述的尖峰冲击测试(spike testing)这一类型时,所述设定百分比可以为90%,当所述测试用例的类型为对比参照类的(比如前述所述的负载测试)这一类型时,所述设定百分比可以为85%。因此在确定目标测量值与目标理论值的比值达到90%或者85%时,则可以确定该测试用例的内核性能验证结果为测试通过。
将所述目标理论值与所述目标测量值进行比较,由于测试用例的类型不同,因此,所述目标理论值与所述目标测量值对应的测试用例的设定百分比也会不同;当所述测试用例的类型为峰值性能验证的测试用例时,所述设定百分比可以设置为90%,即所述目标测量值与所述目标理论值的比值达到90%。
当所述测试用例的类型为对比参照类的测试用例时,所述设定百分比可以设置为85%,即所述目标测量值与所述目标理论值的比值达到85%。
在一种特殊的情况下,例如在原本的内核功能验证中增加了一个新的功能模块,但是新增加的功能模块的目标理论值不容易计算,此时,可以在关闭新增加的功能模块的情况下,将编译运行(run)测试用例之后得到的目标测量值作为该新增加的功能模块的目标理论值;然后,在使用新增加的功能模块的情况下,将编译运行测试用例之后得到的测量值作为目标测量值;从而计算最终的内核性能验证结果。在这一种特殊情况下,可以不执行确定目标理论值的过程,仅执行关闭新增加的功能模块时,编译运行测试用例后的数值作为目标理论值的过程,以及执行开启新增加的功能模块时,编译运行测试用例后的数值作为目标测量值的过程;最后通过目标测量值和目标理论值的比较,确定新增加的功能模块对应的内核性能验证结果;从而满足不同类型下测试用例的内核性能验证结果的使用需求。
可以基于不同的测试用例的类型,确定对应的设定百分比,以得到可靠的性能验证结果。
为便于获取目标测试用例组,在一种实施方式中,还可以预先设置好各个测试用例组的各个测试用例以用于根据不同的测试需求,提供对应所需的测试用例组。
请参考图2,图2是本发明实施例所提供的内核性能验证方法的另一流程示意图。
如图所示,该流程可以包括以下步骤:
步骤S200,获取测试用例组列表,所述测试用例组列表包含各个所述测试用例组,用于提供目标测试用例组。
根据测试用例组列表可以基于不同的内核性能验证需求(例如仅需要一个目标测试用例组进行内核性能验证,或者需要多个目标测试用例组进行内核性能验证),获取对应所需的目标测试用例组,进而获取目标测试用例组的元数据和目标测试用例组的性能配置值。
步骤S201,根据设定范围从所述测试用例组列表中确定多个目标测试用例组,以形成目标测试用例组集合;所述设定范围利用正则表达方法进行定义。
步骤S202,基于所述目标测试用例组集合中的任一目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值。
步骤S203,根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值。
步骤S204,对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
在复杂的内核性能验证情况下,需要多个目标测试用例组,或者基于不同种类的内核性能验证,需要多个目标测试用例组,此时,可以利用正则表达方法一次性定义多个目标测试用例组,正则表达方法使得多个目标测试用例组的确定更加便捷。
例如可以利用“perf_tests=perf_blk_func_(\w+)p_(\w+)q_d(\d+)”这样的正则表达方法,从测试用例组列表中提取对应区域的目标测试用例组。即利用正则表达方法可以从测试用例组列表中一次性确定第i行第j列的一个区域中的测试用例为目标测试用例,从而可以一次获得多个目标测试用例组,方便多个目标测试用例组的确定。
在对多组的目标测试用例组进行内核性能验证时,为便于测试用例组的编译和运行,在一种实施方式中,可以指定一个编译运行速度快的测试用例,进行初始化,然后将指定的测试用例进行编译和运行,基于该指定的测试用例编译生成的编译库进行重用,以进行后续多个目标测试用例组的各个测试用例的编译和运行。
为能够运行各个测试用例,得到测试结果文件以获取最终的测量值,从而每个测试用例在编译时要保证正常编译,因此在进行多个测试用例组的内核性能验证过程中,还可以对每个测试用例组的测试用例的编译进行监控,以便于及时发现编译出错的测试用例,方便更改调整测试用例以继续进行后续的内核性能验证,或者停止无意义的内核性能验证。
可以看到,本发明实施例所提供的内核性能验证方法,可以一次性对多组目标测试用例组进行验证,以满足不同内核功能验证需求所涉及到的测试用例组的数量需求,扩展内核性能验证的应用场景,提升内核性能验证的使用灵活度。
本发明实施例还提供了一种内核性能验证装置,请参考图3,图3是本发明实施例所提供的内核性能验证装置的一框架示意图,该内核性能验证装置可以认为是实现前述内核性能验证方法的一框架结构示意图。
如图所示,该内核性能验证装置可以包括:
测试用例性能模块301,用于获取目标测试用例组的元数据;所述目标测试用例组的元数据与内核性能验证需求相关。
内核性能模块302,包括理论值确定模块3021、测量值获取模块3022和性能验证模块3023;其中,所述理论值确定模块3021,用于基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;
测量值获取模块3022,用于根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;
性能验证模块3023,用于对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
在一种实施方式种,所述测试用例性能模块301,可以提供目标测试用例组的元数据,根据选定的目标测试用例组提供对应的测试用例的负载作为目标测试用例组的元数据。
在一种实施方式种,所述目标测试用例组的各个测试用例可以基于内核性能验证需求对应的内核功能进行设置。
请继续参考图3,如图所示,所述装置还可以包括:
项目配置文件确定模块300,用于根据内核功能和所述内核对应的芯片的设计需求确定项目配置文件,以向所述内核性能模块提供所需的目标测试用例组的性能配置值;所述芯片的设计需求包含内核功能。
利用项目配置文件确定模块300确定项目配置文件,方便后续目标测量值的获取和目标理论值的确定。
为便于获取目标测试用例组的性能配置值,在一种实施方式中,所述内核性能模块302,用于获取所述目标测试用例组的性能配置值,包括:
获取根据所述内核对应的芯片的设计需求设置的项目配置文件,所述项目配置文件所记录的项目名称与所述测试用例组的名称对应,所述芯片的设计需求包含内核功能;根据所述项目配置文件获取所述目标测试用例组的性能配置值。
在一种实施方式中,所述理论值确定模块3021,用于基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值,可以包括:
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,获取所述目标测试用例组的各个测试用例中,各个子对象所对应的性能值;所述子对象基于设置测试用例组时对应的内核功能确定;在各个所述性能值中确定目标性能值为所述目标测试用例组的各个测试用例所对应的目标理论值。
在一种实施方式中,所述目标性能值可以为符合预定义规则的性能值,例如预定义规则为性能最差,则在各个性能值中确定的目标性能值可以为各个性能值中表示性能最差的性能值。
所述内核性能模块302基于测试用例性能模块301确定的目标测试用例组的元数据,从而可以根据目标测试用例组从所述项目配置文件确定模块300确定目标测试用例组的性能配置值,进而将目标测试用例组的元数据和目标测试用例组的性能配置值输入至理论值确定模块3021,用于确定目标理论值,便于后续目标测量值的获取。
在一种实施方式中,所述测量值获取模块3022,用于根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值,包括:
获取所述目标理论值对应的子对象,得到瓶颈值;根据所述瓶颈值确定针对于所述子对象的测试用例所对应的测试结果文件,得到目标测试结果文件;基于所述目标测试结果文件获取目标测量值。
为便于测量值获取模块3022计算目标测量值,在一种实施方式中,请继续参考图3,如图所示,所述装置还可以包括:
应用集获取模块303,用于获取根据所述内核对应的芯片验证需求建立的应用集;所述应用集用于提供测量算法,以对测试结果文件进行计算;所述芯片验证需求包括性能验证需求和功能验证需求,所述性能验证需求包括所述内核性能验证需求。
在一种实施方式中,所述测量值获取模块3022,用于基于所述目标测试结果文件获取目标测量值,包括:
获取所述目标测试结果文件对应的至少一个测量算法;基于设定算法标识在至少一个所述测量算法中确定目标测量算法,利用所述目标测量算法对所述目标测试结果文件进行计算,得到所述目标测量值。
为便于满足不同的内核性能验证需求,在一种实施方式中,所述测量值获取模块3022,还可以用于:利用各个所述测量算法对所述目标测试结果文件进行计算,得到多个测量值,并将多个所述测量值进行展示。
进行展示时所调用的展示函数可以基于前述所述的应用集获取模块303获取;可以通过图形展示,也可以通过文字结果展示,在应用过程中可以根据具体需求选择展示的方式。
在一种实施方式中,所述性能验证模块3023,用于对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果,可以包括:
当所述目标测量值与所述目标理论值的比值达到设定百分比时,得到所述目标测试用例组的各个测试用例的内核性能验证结果为测试通过;所述设定百分比基于所述目标测量值和所述目标理论值对应的测试用例的类型确定。
为增强本发明实施例所提供的内核性能验证装置的实用性,对于一种特殊情况,在确定内核性能验证结果时,例如以前述在原本的内核功能验证中增加了一个新的功能模块,且新增加的功能模块的目标理论值不容易计算的特殊情况为例进行说明。此时可以通过调用内核性能模块302的测量值确定模块3022来执行关闭新增加的功能模块时,测试用例的编译运行过程,将编译运行后的数值作为目标理论值,以及执行开启新增加的功能模块时,测试用例的编译运行过程,将编译运行后的数值作为目标测量值;进而调用性能验证模块3023执行目标测量值和目标理论值的比较,以确定新增加的功能模块的内核性能验证结果的过程;而不调用理论值确定模块3021来执行确定目标理论值的过程;由于本发明实施例所提供的内核性能验证装置,将计算目标理论值的理论值确定模块3021和计算目标测量值的测量值确定模块3022进行模块化处理,因此测量值确定模块3022和理论值确定模块3021可以实现单独调用,从而可以实现不同类型下测试用例的内核性能验证结果的确定。
为满足多组目标测试用例组的内核性能验证需求,在一种实施方式中,所述装置还可以包括:
测试用例组列表获取模块,用于获取测试用例组列表,所述测试用例组列表包含各个所述测试用例组,用于提供目标测试用例组。
当对多组的目标测试用例组的验证时,在一种实施方式中,请继续参考图3,如图所示,所述装置还可以包括:
回归测试模块304,用于根据设定范围从所述测试用例组列表中确定多个目标测试用例组,以形成目标测试用例组集合;所述设定范围利用正则表达方法进行定义;
针对所述目标测试用例组集合中的任一目标测试用例组,调用所述测试用例性能模块,以获取目标测试用例组的元数据;以及调用所述内核性能模块,以获取所述目标测试用例组的性能配置值,并基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值执行内核性能验证处理,得到内核性能验证结果。
在本发明实施例所提供的内核性能验证装置中,可以基于各个测试用例的性能配置值和各个测试用例的元数据,计算针对于内核性能验证的理论值和测量值;从而可以基于理论值和测量值的比较,得到内核性能验证结果,实现内核性能验证的系统化处理。可见,本发明实施例所提供的内核性能验证装置,针对于任一芯片设计的内核性能验证,都可以直接利用目标测试用例组的各个测试用例,获取各个测试用例的元数据和性能配置值,自动化系统化的完成内核性能验证,同时还可以实现将测试用例的性能配置值和元数据的处理与内核性能验证时理论值与测量值以及内核性能验证结果的处理进行分层,以便于基于不同的测试用例对应的元数据和性能配置值,对内核性能进行验证;可以系统化实现芯片设计的内核性能验证,同时提升内核性能验证的准确性和便捷性。
为便于理解本发明实施例所提供的内核性能验证方法的实现,请参考图4和图5,图4是利用本发明实施例所提供的内核性能验证方法获得的目标理论值的一结果示意图,图5是利用本发明实施例所提供的内核性能验证方法获得的内核性能验证的一结果示意图。
如图所示,可以看到,基于同一组测试用例组(name)的各个测试用例(例如名字为perf_testa_pm对应的测试用例组a,其可以对应包含有perf_test_a_co nfig_x0、perf_test_a_config_y0、perf_test_a_config_x1、perf_test_a_config_y1、perf_test_a_config_x2、perf_test_a_config_y2这些测试用例),每一个子对象(例如blk_a_cap、blk_b_cap、bus_x_bw、bus_y_bw)对应不同的性能值,进而基于每一个测试用例中确定出目标性能值作为目标理论值(theory),并将目标理论值对应的子对象作为瓶颈值(bottle neck)。
在一种实施方式中,所述目标性能值可以为符合预定义规则的性能值,例如预定义规则为性能最差,则在各个性能值中确定的目标性能值可以为各个性能值中表示性能最差的性能值。
基于瓶颈值确定各个测试用例下,子对象对应的测量结果文件,进而利用测量结果文件指定的测量算法计算目标测量值(measure);最后比较目标测量值和目标理论值,当所述目标测量值与所述目标理论值的比值达到设定百分比时,得到所述目标测试用例组的各个测试用例的内核性能验证结果为测试通过(PASS),否则为测试不通过(FAIL)。
为便于理解,结合图5所示的第一个测试用例perf_test_a_config_x0进行说明。
如图所示,第一个测试用例perf_test_a_config_x0中,目标理论值为0.3054,目标测量值为0.2749。在确定该测试用例的内核性能验证结果时,首先计算目标测量值与目标理论值的比值(图中所示百分比),即
(0.2749÷0.30540)×100%=90%,
然后,与设定百分比(例如90%)进行比较;可以看到目标测量值与目标理论值的比值已经达到设定百分比,此时可以确定第一个测试用例的内核性能验证结果为测试通过PASS。
当然基于目标测量值和目标理论值的内核性能验证结果,还可以对应确定每个测试用例中测试的功能单元(unit)。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如前述任一项实施例所述的内核性能验证方法。
本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如前述任一项实施例所述的内核性能验证方法。
上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (25)
1.一种内核性能验证方法,其特征在于,包括:
获取目标测试用例组的元数据和所述目标测试用例组的性能配置值;所述目标测试用例组的元数据与内核性能验证需求相关;
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;以及,根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;
对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
2.如权利要求1所述的内核性能验证方法,其特征在于,所述基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值,包括:
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,获取所述目标测试用例组的各个测试用例中,各个子对象所对应的性能值;所述子对象基于设置测试用例组时对应的内核功能确定;
在各个所述性能值中确定目标性能值为所述目标测试用例组的各个测试用例所对应的目标理论值。
3.如权利要求2所述的内核性能验证方法,其特征在于,所述根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值,包括:
获取所述目标理论值对应的子对象,得到瓶颈值;
根据所述瓶颈值确定针对于所述子对象的测试用例所对应的测试结果文件,得到目标测试结果文件;
基于所述目标测试结果文件获取目标测量值。
4.如权利要求3所述的内核性能验证方法,其特征在于,所述基于所述目标测试结果文件获取目标测量值,包括:
获取所述目标测试结果文件对应的至少一个测量算法;
基于设定算法标识在至少一个所述测量算法中确定目标测量算法,利用所述目标测量算法对所述目标测试结果文件进行计算,得到所述目标测量值。
5.如权利要求4所述的内核性能验证方法,其特征在于,在所述获取所述目标测试结果文件对应的至少一个测量算法的步骤之后,还包括:
利用各个所述测量算法对所述目标测试结果文件进行计算,得到多个测量值,并将多个所述测量值进行展示。
6.如权利要求5所述的内核性能验证方法,其特征在于,所述对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果,包括:
当所述目标测量值与所述目标理论值的比值达到设定百分比时,得到所述目标测试用例组的各个测试用例的内核性能验证结果为测试通过;所述设定百分比基于所述目标测量值和所述目标理论值对应的测试用例的类型确定。
7.如权利要求1-6任一项所述的内核性能验证方法,其特征在于,所述获取所述目标测试用例组的性能配置值,包括:
获取根据所述内核对应的芯片的设计需求设置的项目配置文件,所述项目配置文件所记录的项目名称与所述测试用例组的名称对应,所述芯片的设计需求包含内核功能;
根据所述项目配置文件获取所述目标测试用例组的性能配置值。
8.如权利要求7所述的内核性能验证方法,其特征在于,还包括:
获取根据所述内核对应的芯片验证需求建立的应用集;根据所述应用集获取测量算法,以对测试结果文件进行计算;所述芯片验证需求包括性能验证需求和功能验证需求,所述性能验证需求包括所述内核性能验证需求。
9.如权利要求1-6任一项所述的内核性能验证方法,其特征在于,所述目标测试用例组的各个测试用例基于内核性能验证需求对应的内核功能进行设置。
10.如权利要求9所述的内核性能验证方法,其特征在于,所述获取目标测试用例组的元数据和目标测试用例组的性能配置值的步骤之前,还包括:
获取测试用例组列表,所述测试用例组列表包含各个所述测试用例组,用于提供目标测试用例组。
11.如权利要求10所述的内核性能验证方法,其特征在于,还包括:
根据设定范围从所述测试用例组列表中确定多个目标测试用例组,以形成目标测试用例组集合;所述设定范围利用正则表达方法进行定义;
针对所述目标测试用例组集合中的任一目标测试用例组,执行所述获取目标测试用例组的元数据和目标测试用例组的性能配置值的步骤。
12.一种内核性能验证装置,其特征在于,包括:
测试用例性能模块,用于获取目标测试用例组的元数据;所述目标测试用例组的元数据与内核性能验证需求相关;
内核性能模块,包括理论值确定模块、测量值获取模块和性能验证模块;其中,所述理论值确定模块,用于基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值;
所述测量值获取模块,用于根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值;
所述性能验证模块,用于对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果。
13.如权利要求12所述的内核性能验证装置,其特征在于,所述理论值确定模块,用于基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,确定所述目标测试用例组的各个测试用例的目标理论值,包括:
基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值,获取所述目标测试用例组的各个测试用例中,各个子对象所对应的性能值;所述子对象基于设置测试用例组时对应的内核功能确定;
在各个所述性能值中确定目标性能值为所述目标测试用例组的各个测试用例所对应的目标理论值。
14.如权利要求13所述的内核性能验证装置,其特征在于,所述测量值获取模块,用于根据所述目标理论值和所述目标测试用例组的各个测试用例所对应的测试结果文件,获取各个测试用例的目标测量值,包括:
获取所述目标理论值对应的子对象,得到瓶颈值;
根据所述瓶颈值确定针对于所述子对象的测试用例所对应的测试结果文件,得到目标测试结果文件;
基于所述目标测试结果文件获取目标测量值。
15.如权利要求14所述的内核性能验证装置,其特征在于,所述测量值获取模块,用于基于所述目标测试结果文件获取目标测量值,包括:
获取所述目标测试结果文件对应的至少一个测量算法;
基于设定算法标识在至少一个所述测量算法中确定目标测量算法,利用所述目标测量算法对所述目标测试结果文件进行计算,得到所述目标测量值。
16.如权利要求15所述的内核性能验证装置,其特征在于,所述测量值获取模块,还用于:
利用各个所述测量算法对所述目标测试结果文件进行计算,得到多个测量值,并将多个所述测量值进行展示。
17.如权利要求16所述的内核性能验证装置,其特征在于,所述性能验证模块,用于对所述目标理论值和所述目标测量值进行比较,得到所述目标测试用例组的各个测试用例的内核性能验证结果,包括:
当所述目标测量值与所述目标理论值的比值达到设定百分比时,得到所述目标测试用例组的各个测试用例的内核性能验证结果为测试通过;所述设定百分比基于所述目标测量值和所述目标理论值对应的测试用例的类型确定。
18.如权利要求12-17任一项所述的内核性能验证装置,其特征在于,所述内核性能模块,用于获取所述目标测试用例组的性能配置值,包括:
获取根据所述内核对应的芯片的设计需求设置的项目配置文件,所述项目配置文件所记录的项目名称与所述测试用例组的名称对应,所述芯片的设计需求包含内核功能;
根据所述项目配置文件获取所述目标测试用例组的性能配置值。
19.如权利要求18所述的内核性能验证装置,其特征在于,还包括:
项目配置文件确定模块,用于根据所述内核对应的芯片的设计需求确定项目配置文件,以向所述内核性能模块提供所需的目标测试用例组的性能配置值;所述芯片的设计需求包含内核功能。
20.如权利要求12-17任一项所述的内核性能验证装置,其特征在于,还包括:
应用集获取模块,用于获取根据所述内核对应的芯片验证需求建立的应用集;所述应用集用于提供测量算法,以对测试结果文件进行计算;所述芯片验证需求包括性能验证需求和功能验证需求,所述性能验证需求包括所述内核性能验证需求。
21.如权利要求12-17任一项所述的内核性能验证装置,其特征在于,所述目标测试用例组的各个测试用例基于内核性能验证需求对应的内核功能进行设置。
22.如权利要求21所述的内核性能验证装置,其特征在于,还包括:
测试用例组列表获取模块,用于获取测试用例组列表,所述测试用例组列表包含各个所述测试用例组,用于提供目标测试用例组。
23.如权利要求22所述的内核性能验证装置,其特征在于,还包括:
回归测试模块,用于根据设定范围从所述测试用例组列表中确定多个目标测试用例组,以形成目标测试用例组集合;所述设定范围利用正则表达方法进行定义;
针对所述目标测试用例组集合中的任一目标测试用例组,调用所述测试用例性能模块,以获取目标测试用例组的元数据;以及调用所述内核性能模块,以获取所述目标测试用例组的性能配置值,并基于所述目标测试用例组的元数据和所述目标测试用例组的性能配置值执行内核性能验证处理,得到内核性能验证结果。
24.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如权利要求1-11任一项所述的内核性能验证方法。
25.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序被执行时实现如权利要求1-11任一项所述的内核性能验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310546107.5A CN116560962A (zh) | 2023-05-15 | 2023-05-15 | 内核性能验证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310546107.5A CN116560962A (zh) | 2023-05-15 | 2023-05-15 | 内核性能验证方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116560962A true CN116560962A (zh) | 2023-08-08 |
Family
ID=87499756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310546107.5A Pending CN116560962A (zh) | 2023-05-15 | 2023-05-15 | 内核性能验证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560962A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459964A (zh) * | 2018-03-06 | 2018-08-28 | 平安科技(深圳)有限公司 | 测试用例选择方法、装置、设备以及计算机可读存储介质 |
CN111367737A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种优化内存性能测试的方法、装置 |
CN113203935A (zh) * | 2021-03-11 | 2021-08-03 | 江西创成微电子有限公司 | 芯片测试方法、系统及可读存储介质 |
CN113297073A (zh) * | 2021-05-20 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 芯片中算法模块的验证方法、装置、设备及可读存储介质 |
CN114355171A (zh) * | 2022-03-15 | 2022-04-15 | 江苏清微智能科技有限公司 | 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备 |
CN114429103A (zh) * | 2022-01-14 | 2022-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片验证方法、装置及电子设备和存储介质 |
US20220164507A1 (en) * | 2020-11-25 | 2022-05-26 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Electronic system-level reproducible parallel simulation method implemented by way of a discrete event simulation multicore computing system |
CN114756466A (zh) * | 2022-04-21 | 2022-07-15 | 中国信息通信研究院 | 一种测试用例获取方法、装置及存储介质 |
CN115033434A (zh) * | 2022-06-07 | 2022-09-09 | 海光信息技术股份有限公司 | 一种内核性能理论值计算方法、装置及存储介质 |
-
2023
- 2023-05-15 CN CN202310546107.5A patent/CN116560962A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459964A (zh) * | 2018-03-06 | 2018-08-28 | 平安科技(深圳)有限公司 | 测试用例选择方法、装置、设备以及计算机可读存储介质 |
CN111367737A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种优化内存性能测试的方法、装置 |
US20220164507A1 (en) * | 2020-11-25 | 2022-05-26 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Electronic system-level reproducible parallel simulation method implemented by way of a discrete event simulation multicore computing system |
CN113203935A (zh) * | 2021-03-11 | 2021-08-03 | 江西创成微电子有限公司 | 芯片测试方法、系统及可读存储介质 |
CN113297073A (zh) * | 2021-05-20 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 芯片中算法模块的验证方法、装置、设备及可读存储介质 |
CN114429103A (zh) * | 2022-01-14 | 2022-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片验证方法、装置及电子设备和存储介质 |
CN114355171A (zh) * | 2022-03-15 | 2022-04-15 | 江苏清微智能科技有限公司 | 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备 |
CN114756466A (zh) * | 2022-04-21 | 2022-07-15 | 中国信息通信研究院 | 一种测试用例获取方法、装置及存储介质 |
CN115033434A (zh) * | 2022-06-07 | 2022-09-09 | 海光信息技术股份有限公司 | 一种内核性能理论值计算方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019104854A1 (zh) | 性能测试评价方法、装置、终端设备及存储介质 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN111209203B (zh) | 一种基于源代码的模型验证方法 | |
CN110059068B (zh) | 一种分布式存储系统中的数据校验方法及数据校验系统 | |
WO2020113526A1 (zh) | 一种芯片验证方法和装置 | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
JP2000235507A (ja) | システムの信頼性設計装置及び方法並びにシステムの信頼性設計用ソフトウェアを記録した記録媒体 | |
CN113127331B (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN116560962A (zh) | 内核性能验证方法、装置、电子设备及存储介质 | |
CN116467211A (zh) | 一种基于数字化仿真环境的系统级测试验证方法 | |
CN113608953B (zh) | 测试数据生成方法、装置、电子设备及可读存储介质 | |
CN108228445B (zh) | 虚拟机能耗的测试方法以及装置 | |
CN111679924B (zh) | 构件化软件系统可靠性仿真方法、装置及电子设备 | |
CN114942878A (zh) | 互联网应用的自动化性能测试方法及相关设备 | |
Uddin et al. | Analytical-based high-level simulation of the microthreaded many-core architectures | |
CN113032229A (zh) | 一种java性能测试方法、系统及介质 | |
US9400858B1 (en) | Virtual verification machine for a hardware based verification platform | |
CN114692382B (zh) | 核电仿真模型开发数据的管理方法、装置及计算机设备 | |
JPWO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
US11520964B1 (en) | Method and system for assertion-based formal verification using unique signature values | |
JPH03120485A (ja) | 半導体集積回路の故障個所推定方式 | |
CN113127324B (zh) | 测试报告自动化生成方法、装置、计算机设备及存储介质 | |
CN114416504A (zh) | 一种用于云计算系统的性能边界瓶颈模拟推演方法及系统 | |
CN114461390A (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 |