CN111047502B - 一种大规模simt染色阵列验证方法 - Google Patents

一种大规模simt染色阵列验证方法 Download PDF

Info

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
Application number
CN201911147110.XA
Other languages
English (en)
Other versions
CN111047502A (zh
Inventor
聂曌
马城城
张琛
刘晖
王晨光
张兴雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201911147110.XA priority Critical patent/CN111047502B/zh
Publication of CN111047502A publication Critical patent/CN111047502A/zh
Application granted granted Critical
Publication of CN111047502B publication Critical patent/CN111047502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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染色阵列验证方法
技术领域
本发明属于计算机应用领域,具体涉及一种大规模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)由染色器阵列指令集性能验证、现场资源性能验证、染色阵列调度性能验证、鲁棒性验证、应用接口性能验证和现实应用场景性能验证组成。
CN201911147110.XA 2019-11-21 2019-11-21 一种大规模simt染色阵列验证方法 Active CN111047502B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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