CN111047502B - 一种大规模simt染色阵列验证方法 - Google Patents
一种大规模simt染色阵列验证方法 Download PDFInfo
- Publication number
- CN111047502B CN111047502B CN201911147110.XA CN201911147110A CN111047502B CN 111047502 B CN111047502 B CN 111047502B CN 201911147110 A CN201911147110 A CN 201911147110A CN 111047502 B CN111047502 B CN 111047502B
- Authority
- CN
- China
- Prior art keywords
- verification
- array
- dyeing
- simt
- scale
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Coloring (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明属于计算机应用领域,具体涉及一种大规模SIMT染色阵列验证方法,该方法包括以下步骤:1)对大规模SIMT染色阵列进行染色器阵列指令集验证;2)对大规模SIMT染色阵列进行现场资源验证;3)对大规模SIMT染色阵列进行调度验证;4)对大规模SIMT染色阵列进行压力验证;5)对大规模SIMT染色阵列进行应用接口验证;6)对大规模SIMT染色阵列进行现实应用场景验证;7)对大规模SIMT染色阵列进行运行性能验证;本方法将染色器验证层次化、分步骤,有序实施,提高染色阵列验证的可操作性,大大缩短验证周期,对同类产品的验证具有一定指导意义。
Description
技术领域
本发明属于计算机应用领域,具体涉及一种大规模SIMT染色阵列验证方法。
背景技术
随着GPU技术的发展,SIMT染色阵列技术已成为现代GPU实现的主流。其规模庞大、实现复杂,验证工作成为统一染色阵列GPU设计的主要难点之一。公开的研究中大多集中在SIMT染色阵列架构设计、应用软件优化方面,针对大规模SIMT染色阵列验证方法的资料几乎空白。
发明内容
发明目的:本发明的目的是提供一种层次化、分步骤,有序实施的验证方法,加快SIMT染色阵列验证速度,为类似产品的验证流程提供了指导方法。
为了实现上述目的,本发明的具体技术方案为:本发明提出一种大规模SIMT染色阵列验证方法,该方法包括以下步骤:
1)对大规模SIMT染色阵列进行染色器阵列指令集验证(1);
2)对大规模SIMT染色阵列进行现场资源验证(2);
3)对大规模SIMT染色阵列进行调度验证(3);
4)对大规模SIMT染色阵列进行压力验证(4);
5)对大规模SIMT染色阵列进行应用接口验证(5);
6)对大规模SIMT染色阵列进行现实应用场景验证(6);
7)对大规模SIMT染色阵列进行运行性能验证(7)。
优选的,所述染色器阵列指令集验证(1)用于验证染色阵列计算资源指令执行功能和性能的正确性,所述染色器阵列指令集验证(1)包括单指令集的执行单元正确性验证和指令相关性验证;其中单指令集的执行单元正确性验证保证单个指令对边界值、错误值、特殊值和等价类划分测试用例的覆盖性验证,指令相关性验证涉及发射窗口内和发射窗口间数据、结构和控制相关性验证;染色器阵列指令集验证(1)在验证过程中首先进行单指令集的执行单元正确性验证,再进行指令相关性验证。
优选的,所述的现场资源验证(2)用于针对染色阵列存储资源访问功能、性能的正确性进行验证;验证可分为寄存器资源、存储资源和读写通路验证;其中寄存器资源验证包括复位值和读写功能;存储资源验证包括单读单写、片读片写和错误地址读写;读写通路验证用于确定染色阵列中存储资源读写访问的正确性。
优选的,所述调度验证(3)用于验证染色阵列的任务调度和线程调度的正确性,验证过程中,任务调度验证包括不同任务数量和不同任务类型的调度验证;
线程调度验证也包括不同任务数量和不同任务类型的调度验证;
任务调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证。目的是为了验证不同数量WARP开启情况下染色阵列能否正常工作;
任务调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证;
线程调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证。目的是为了验证不同数量WARP开启情况下染色阵列能否正常工作;
线程调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证。
优选的,所述鲁棒性验证(4)用于对染色阵列运行的健壮性进行验证,验证可分为压力验证、随机验证和错误注入验证;其中,压力验证通过不断加压使染色阵列在极限情况下运行,观察其运行状况从而发现功能缺陷;随机验证通过对染色阵列构造一系列随机类型指令,观察其运行正确性;错误注入验证通过注入一定数量错误指令,观察其运行过程报错能力。
优选的,所述应用接口验证(5)用于检验染色阵列驱动程序编写的正确性,包括内建函数和典型接口的验证,为运行性能验证(7)提供分析性能的基础;当应用场景需要调用内建函数和典型接口时,在验证正确后直接为现实应用场景验证(6)提供可靠的验证环境。
优选的,所述的现实应用场景验证(6)用于对染色阵列在实际场景中运行性能进行验证,所述现实应用场景验证为步骤1)至步骤5)中部分或全部验证过程完成后,通过搭建与实际环境相似的测试环境,在染色阵列驱动程序运行时,对系统进行的面向应用场景的性能验证。
优选的,所述运行性能验证(7)用于通过对测试得到相关性能结果,对比指标,之后评估染色阵列性能;运行性能验证(7)由染色器阵列指令集性能验证、现场资源性能验证、染色阵列调度性能验证、鲁棒性验证、应用接口性能验证和现实应用特征场景性能验证组成。
本发明能够带来的有益效果:
本发明的目的是实现了一种大规模SIMT染色阵列验证方法,为类似产品的验证流程提供了指导方法,通过分析其运行性能,优化改进染色阵列及驱动程序,提高处理速度和性能。
附图说明
图1为本发明具体实施原理图。
具体实施方式
下面结合说明书附图对本发明做进一步详细说明。
在本发明的一个实施例中提出一种大规模SIMT染色阵列验证方法,该方法包括以下步骤:
1对大规模SIMT染色阵列进行染色器阵列指令集验证1;
2对大规模SIMT染色阵列进行现场资源验证2;
3对大规模SIMT染色阵列进行调度验证3;
4对大规模SIMT染色阵列进行压力验证4;
5对大规模SIMT染色阵列进行应用接口验证5;
6对大规模SIMT染色阵列进行现实应用场景验证6;
7对大规模SIMT染色阵列进行运行性能验证7。
在一个实施例中,所述染色器阵列指令集验证1用于验证染色阵列计算资源指令执行功能和性能的正确性,所述染色器阵列指令集验证1包括单指令集的执行单元正确性验证和指令相关性验证;其中单指令集的执行单元正确性验证保证单个指令对边界值、错误值、特殊值和等价类划分测试用例的覆盖性验证,指令相关性验证涉及发射窗口内和发射窗口间数据、结构和控制相关性验证;染色器阵列指令集验证1在验证过程中首先进行单指令集的执行单元正确性验证,再进行指令相关性验证。
在一个实施例中,所述的现场资源验证2用于针对染色阵列存储资源访问功能、性能的正确性进行验证;验证可分为寄存器资源、存储资源和读写通路验证;其中寄存器资源验证包括复位值和读写功能;存储资源验证包括单读单写、片读片写和错误地址读写;读写通路验证用于确定染色阵列中存储资源读写访问的正确性。
在一个实施例中,所述调度验证3用于验证染色阵列的任务调度和线程调度的正确性,验证过程中,任务调度验证包括不同任务数量和不同任务类型的调度验证;
线程调度验证也包括不同任务数量和不同任务类型的调度验证;
任务调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证。目的是为了验证不同数量WARP开启情况下染色阵列能否正常工作;
任务调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证;
线程调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证。目的是为了验证不同数量WARP开启情况下染色阵列能否正常工作;
线程调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证。
在一个实施例中,所述鲁棒性验证4用于对染色阵列运行的健壮性进行验证,验证可分为压力验证、随机验证和错误注入验证;其中,压力验证通过不断加压使染色阵列在极限情况下运行,观察其运行状况从而发现功能缺陷;随机验证通过对染色阵列构造一系列随机类型指令,观察其运行正确性;错误注入验证通过注入一定数量错误指令,观察其运行过程报错能力。
在一个实施例中,所述应用接口验证5用于检验染色阵列驱动程序编写的正确性,包括内建函数和典型接口的验证,为运行性能验证7提供分析性能的基础;当应用场景需要调用内建函数和典型接口时,在验证正确后直接为现实应用场景验证6提供可靠的验证环境。
在一个实施例中,所述的现实应用场景验证6用于对染色阵列在实际场景中运行性能进行验证,所述现实应用场景验证为步骤1至步骤5中部分或全部验证过程完成后,通过搭建与实际环境相似的测试环境,在染色阵列驱动程序运行时,对系统进行的面向应用场景的性能验证。
在一个实施例中,所述运行性能验证7用于通过对测试得到相关性能结果,对比指标,之后评估染色阵列性能;运行性能验证7由染色器阵列指令集性能验证、现场资源性能验证、染色阵列调度性能验证、鲁棒性验证、应用接口性能验证和现实应用特征场景性能验证组成。
Claims (5)
1.一种大规模SIMT染色阵列验证方法,其特征在于,该方法包括以下步骤:
1)对大规模SIMT染色阵列进行染色器阵列指令集验证(1);
2)对大规模SIMT染色阵列进行现场资源验证(2);
3)对大规模SIMT染色阵列进行调度验证(3);
4)对大规模SIMT染色阵列进行鲁棒性验证(4);
5)对大规模SIMT染色阵列进行应用接口验证(5);
6)对大规模SIMT染色阵列进行现实应用场景验证(6);
7)对大规模SIMT染色阵列进行运行性能验证(7);
所述染色器阵列指令集验证(1)用于验证染色阵列计算资源指令执行功能和性能的正确性,所述染色器阵列指令集验证(1)包括单指令集的执行单元正确性验证和指令相关性验证;其中单指令集的执行单元正确性验证保证单个指令对边界值、错误值、特殊值和等价类划分测试用例的覆盖性验证,指令相关性验证涉及发射窗口内和发射窗口间数据、结构和控制相关性验证;染色器阵列指令集验证(1)在验证过程中首先进行单指令集的执行单元正确性验证,再进行指令相关性验证;
所述的现场资源验证(2)用于针对染色阵列存储资源访问功能、性能的正确性进行验证;验证可分为寄存器资源、存储资源和读写通路验证;其中寄存器资源验证包括复位值和读写功能;存储资源验证包括单读单写、片读片写和错误地址读写;读写通路验证用于确定染色阵列中存储资源读写访问的正确性;
所述调度验证(3)用于验证染色阵列的任务调度和线程调度的正确性,验证过程中,任务调度验证包括不同任务数量和不同任务类型的调度验证;
线程调度验证也包括不同任务数量和不同任务类型的调度验证;
任务调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证,用于验证不同数量WARP开启情况下染色阵列能否正常工作;
任务调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证;
线程调度验证的不同任务数量验证过程为:
配置染色内核全开,分别开启前八分之一、前四分之一、前二分之一个WARP、仅开启奇数编号WARP、仅开启偶数编号WARP和开启随机数量WARP验证,用于验证不同数量WARP开启情况下染色阵列能否正常工作;
线程调度验证的不同任务类型的调度验证包括阻塞/非阻塞验证和通用/图形计算验证。
2.根据权利要求1所述的大规模SIMT染色阵列验证方法,其特征在于:所述鲁棒性验证(4)用于对染色阵列运行的健壮性进行验证,验证可分为压力验证、随机验证和错误注入验证;其中,压力验证通过不断加压使染色阵列在极限情况下运行,观察其运行状况从而发现功能缺陷;随机验证通过对染色阵列构造一系列随机类型指令,观察其运行正确性;错误注入验证通过注入一定数量错误指令,观察其运行过程报错能力。
3.根据权利要求2所述的大规模SIMT染色阵列验证方法,其特征在于:所述应用接口验证(5)用于检验染色阵列驱动程序编写的正确性,包括内建函数和典型接口的验证,为运行性能验证(7)提供分析性能的基础;当应用场景需要调用内建函数和典型接口时,在验证正确后直接为现实应用场景验证(6)提供可靠的验证环境。
4.根据权利要求3所述的大规模SIMT染色阵列验证方法,其特征在于:所述的现实应用场景验证(6)用于对染色阵列在实际场景中运行性能进行验证,所述现实应用场景验证为步骤1)至步骤5)中部分或全部验证过程完成后,通过搭建与实际环境相似的测试环境,在染色阵列驱动程序运行时,对系统进行的面向应用场景的性能验证。
5.根据权利要求4所述的大规模SIMT染色阵列验证方法,其特征在于:所述运行性能验证(7)用于通过对测试得到相关性能结果,对比指标,之后评估染色阵列性能;运行性能验证(7)由染色器阵列指令集性能验证、现场资源性能验证、染色阵列调度性能验证、鲁棒性验证、应用接口性能验证和现实应用场景性能验证组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147110.XA CN111047502B (zh) | 2019-11-21 | 2019-11-21 | 一种大规模simt染色阵列验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147110.XA CN111047502B (zh) | 2019-11-21 | 2019-11-21 | 一种大规模simt染色阵列验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111047502A CN111047502A (zh) | 2020-04-21 |
CN111047502B true CN111047502B (zh) | 2023-06-30 |
Family
ID=70233046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147110.XA Active CN111047502B (zh) | 2019-11-21 | 2019-11-21 | 一种大规模simt染色阵列验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111047502B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN108021478A (zh) * | 2017-11-24 | 2018-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器鲁棒性测试方法 |
CN109656532A (zh) * | 2018-12-12 | 2019-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于uml的面向gpu片元着色任务调度方法 |
CN109669769A (zh) * | 2018-12-12 | 2019-04-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemC面向GPU顶点着色任务调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523151B2 (en) * | 2000-05-25 | 2003-02-18 | International Business Machines Corporation | Method for verifying the design of a microprocessor |
US10817289B2 (en) * | 2017-10-03 | 2020-10-27 | Nvidia Corp. | Optimizing software-directed instruction replication for GPU error detection |
-
2019
- 2019-11-21 CN CN201911147110.XA patent/CN111047502B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN108021478A (zh) * | 2017-11-24 | 2018-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器鲁棒性测试方法 |
CN109656532A (zh) * | 2018-12-12 | 2019-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于uml的面向gpu片元着色任务调度方法 |
CN109669769A (zh) * | 2018-12-12 | 2019-04-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemC面向GPU顶点着色任务调度方法 |
Non-Patent Citations (2)
Title |
---|
巨鹏锦 ; 张晓冬 ; 李辉 ; .基于模型和库的处理器伪随机激励生成器设计与实现.计算机工程与科学.2018,(第01期),全文. * |
张骏 ; 田泽 ; 郭亮 ; 郑斐 ; 韩立敏 ; 任向隆 ; .面向GPU统一染色阵列的并行自适应看门狗.航空计算技术.2018,(第05期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111047502A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187988B (zh) | 适用于虚函数和函数指针的静态函数调用图构建方法 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
US20150143179A1 (en) | System and Method for Progressive Fault Injection Testing | |
CN111950212A (zh) | 高效的多模式验证平台及方法 | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测系统 | |
CN107193732B (zh) | 一种基于路径比对的校验函数定位方法 | |
Abdulla et al. | The best of both worlds: Trading efficiency and optimality in fence insertion for TSO | |
CN104156311B (zh) | 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法 | |
CN106354630A (zh) | 一种基于动态符号执行的软件缺陷检测方法 | |
CN110059014B (zh) | 一种并发程序数据竞争指令级定位方法 | |
CN109088776B (zh) | 一种基于超级计算机的并行cfd计算与通信重叠优化方法 | |
CN113836023B (zh) | 一种基于体系结构交叉检查的编译器安全性测试方法 | |
CN107832176A (zh) | 一种Windows下硬盘压力自动测试方法及系统 | |
CN111047502B (zh) | 一种大规模simt染色阵列验证方法 | |
Hong et al. | Evaluation of model checkers by verifying message passing programs | |
Wiederseiner et al. | An open-source tool for automated generation of black-box xunit test code and its industrial evaluation | |
Yang et al. | An empirical study on the ability relationships between programming and testing | |
CN113127331B (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN112612697A (zh) | 一种基于字节码技术的软件缺陷测试定位方法及系统 | |
Qian et al. | A embedded software testing process model | |
CN115794639B (zh) | 基于流程的可视化测试及可视化仿真模拟测试系统和方法 | |
US20080098403A1 (en) | Data flow execution of methods in sequential programs | |
WO2021104027A1 (zh) | 代码性能检测方法、装置、设备及存储介质 | |
CN105893255A (zh) | 一种雷达导引头数据处理dsp软件测试方法 | |
Guglielmo et al. | Towards evidence-based testability measurements |
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 |