CN111047499A - Large-scale dyeing array robustness verification method - Google Patents

Large-scale dyeing array robustness verification method Download PDF

Info

Publication number
CN111047499A
CN111047499A CN201911125799.6A CN201911125799A CN111047499A CN 111047499 A CN111047499 A CN 111047499A CN 201911125799 A CN201911125799 A CN 201911125799A CN 111047499 A CN111047499 A CN 111047499A
Authority
CN
China
Prior art keywords
verification
robustness
verifying
unit
task
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
Application number
CN201911125799.6A
Other languages
Chinese (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 CN201911125799.6A priority Critical patent/CN111047499A/en
Publication of CN111047499A publication Critical patent/CN111047499A/en
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)

Abstract

The invention belongs to the field of computer graphics, and particularly relates to a large-scale dyeing array robustness verification method. The method comprises the following steps of S1: verifying the robustness of the instruction set; s2: verifying the robustness of the access resources; s3: verifying the robustness of the operation unit; s4: verifying the robustness of thread-level scheduling; s5: verifying task-level scheduling robustness; s6: robustness verification is typically applied. The invention takes the sub-module verification as a means and adopts the methods of random verification, pressure verification and fault injection verification, thereby comprehensively and reliably verifying the robustness of the dyeing array. The operability of the method has certain guiding significance for verifying the robustness of similar products.

Description

Large-scale dyeing array robustness verification method
Technical Field
The invention belongs to the field of computer graphics, and can be widely applied to robustness verification of large-scale dyeing arrays.
Background
The large-scale dyeing array is used as the core of the GPU of the modern unified framework, the functional correctness of the large-scale dyeing array is a key functional component for drawing graphs and carrying out general calculation by the GPU, the design scale of the unified dyeing framework at present reaches 5000 dyeing core units, and the robustness of a calculation unit, a memory access unit, a scheduling unit and out-of-order execution of the unified dyeing framework is verified to be the core and the key of the verification of the large-scale dyeing array of the unified framework.
The invention content is as follows:
the purpose of the invention is as follows: the invention aims to provide a comprehensive robustness verification method, and provides a guidance method for robustness verification processes of similar products.
The technical scheme is as follows: a large-scale staining array robustness verification method is provided, and comprises the following steps:
s1: verifying the robustness of the instruction set;
s2: verifying the robustness of the access resources;
s3: verifying the robustness of the operation unit;
s4: verifying the robustness of thread-level scheduling;
s5: verifying task-level scheduling robustness;
s6: robustness verification is typically applied.
Further, the S1 includes:
the instructions cover all instruction sets of the current design; the method for verifying the robustness of the instruction set by adopting the random verification and the fault injection verification comprises the following steps:
s1.1: the instruction random verification, firstly, the random verification of the single instruction use method is carried out, and the functional state of the instruction when different registers and immediate numbers are randomly matched is verified; then verifying the random arrangement of the instructions, randomly arranging various instructions and verifying the correlation problem generated by the instruction arrangement;
s1.2: verifying the instruction fault injection, namely verifying the functional state of the wrong register address and data matched with the instruction;
s1.3: after the instruction verification is completed, the result is input to the operation unit S3 for verification.
Further, in S2, the access resource includes a resource in a local storage, a global storage, a constant storage, or a register; the method adopts the random verification and the pressure verification to verify the robustness of the access and storage resources, and comprises the following steps:
s2.1: the memory access random verification is that data is written and read to different addresses of the memory randomly so as to verify whether the data passing through the memory is correct;
s2.2: the memory access pressure verification is that the method of single read and single write and chip read and chip write is respectively adopted to repeatedly read and write all the memory spaces of the memory to ensure that the memory is in a full-load working state for a long time so as to verify whether the full-load working state of the memory is normal or not;
s2.3: after the access and storage verification is finished, the result is input into an S3 arithmetic unit for verification.
Further, the arithmetic unit in S3 includes a fixed point unit, a floating point unit, a control unit, and a storage loading unit, and the robustness of the arithmetic unit is verified by using methods of random verification, pressure verification, and fault injection verification, including the following steps:
s3.1: the arithmetic unit randomly verifies, randomly distributes different instructions of the unit to the arithmetic unit, and verifies the processing capacity of the unit;
s3.2: the pressure verification of the operation unit, preparing a large amount of instructions of the unit, enabling the unit to be in a full load working state for a long time, and verifying the performance of the unit;
s3.3: and (4) fault injection verification of the operation unit, wherein during verification, an error instruction and data are actively prepared for the operation unit, and the processing result of the operation unit is verified.
Further, in S4, the method of random verification and pressure verification is used to verify the robustness of thread scheduling, and the steps are as follows:
s4.1: the thread scheduling random verification, the number of the cores is controlled to be opened through the mask, the cores with different numbers are opened randomly, the distributed threads are executed, and the processing capacity of the corresponding threads is verified and checked;
s4.2: and verifying thread scheduling pressure, and distributing a large number of thread tasks to cores with different numbers in sequence to ensure that the cores are in a full-load running state for a long time.
Further, in S5, the method of random verification and pressure verification is used to verify the robustness of task scheduling, and the steps are as follows:
s5.1: the task scheduling is randomly verified, different numbers of task scheduling units are randomly started to distribute prepared tasks, and the scheduling capability of the units to the tasks is verified;
s5.2: and verifying the task scheduling pressure, namely starting different numbers of task scheduling units in sequence, distributing a large number of tasks and ensuring that the unit is in a full-load task scheduling state for a long time.
Further, in S6, the method of random verification and pressure verification is used to verify the robustness of the typical application, and the steps are as follows:
s6.1: randomly verifying a typical task, randomly preparing a graphic processing task and a general processing task, putting the graphic processing task and the general processing task into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application;
s6.2: and (3) typical task pressure verification, namely preparing a large number of graphic processing tasks and general processing tasks, putting the graphic processing tasks and the general processing tasks into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application in a long-time full-load state.
Has the advantages that:
the invention covers the robustness verification of basic resources from three aspects of instruction set verification, access resource verification and arithmetic unit verification, covers the robustness verification of task execution from two aspects of thread-level scheduling and task-level scheduling, and finally verifies the robustness verification of the operation of a dyeing array scene by typical application in a progressive mode. The hierarchical verification method ensures the correctness of the dyed array for executing various tasks from bottom to top, accelerates the functional verification of the dyed array and lays a good foundation for the verification of the unified architecture GPU.
The invention takes the sub-module verification as a means and adopts the methods of random verification, pressure verification and fault injection verification, thereby comprehensively and reliably verifying the robustness of the dyeing array.
Drawings
FIG. 1 is a schematic diagram of an embodiment of the present invention.
Detailed Description
The present invention is described in further detail below.
As shown in fig. 1, it is an implementation schematic diagram of a large-scale staining array robustness verification method, and the method includes the following steps:
s1: instruction set robustness verification:
the instructions cover all instruction sets of the current design; the method for verifying the robustness of the instruction set by adopting the random verification and the fault injection verification comprises the following steps:
s1.1: the instruction random verification, firstly, the random verification of the single instruction use method is carried out, and the functional state of the instruction when different registers and immediate numbers are randomly matched is verified; then verifying the random arrangement of the instructions, randomly arranging various instructions and verifying the correlation problem generated by the instruction arrangement; if the dyeing array has a double-transmitter mechanism, the double-transmitting instruction correlation in the unit and the double-transmitting instruction correlation between units can be verified;
s1.2: verifying the instruction fault injection, namely verifying the functional state of the wrong register address and data matched with the instruction;
s1.3: after the instruction verification is completed, the result is input to the operation unit S3 for verification.
S2: verifying the robustness of the access resources;
the memory access resources comprise resources in a local memory, a global memory, a constant memory and a register; the method adopts the random verification and the pressure verification to verify the robustness of the access and storage resources, and comprises the following steps:
s2.1: the memory access random verification is that data is written and read to different addresses of the memory randomly so as to verify whether the data passing through the memory is correct;
s2.2: the memory access pressure verification is that the method of single read and single write and chip read and chip write is respectively adopted to repeatedly read and write all the memory spaces of the memory to ensure that the memory is in a full-load working state for a long time so as to verify whether the full-load working state of the memory is normal or not;
s2.3: after the access and storage verification is finished, the result is input into an S3 arithmetic unit for verification.
S3: verifying the robustness of the operation unit;
the arithmetic unit in S3 comprises a fixed point unit, a floating point unit, a control unit and a storage loading unit, and the robustness of the arithmetic unit is verified by adopting methods of random verification, pressure verification and fault injection verification, and the method comprises the following steps:
s3.1: the arithmetic unit randomly verifies, randomly distributes different instructions of the unit to the arithmetic unit, and verifies the processing capacity of the unit;
s3.2: the pressure verification of the operation unit, preparing a large amount of instructions of the unit, enabling the unit to be in a full load working state for a long time, and verifying the performance of the unit;
s3.3: and (3) fault injection verification of the arithmetic unit, wherein during verification, an error instruction and data (such as a floating point number, a nonnumber and the like for a fixed point instruction) are actively prepared for the arithmetic unit, and a processing result of the arithmetic unit is verified.
S4: verifying the robustness of thread-level scheduling;
in the step S4, the method of random verification and pressure verification is used to verify the robustness of thread scheduling, and the steps are as follows:
s4.1: the thread scheduling random verification, the number of the cores is controlled to be opened through the mask, the cores with different numbers are opened randomly, the distributed threads are executed, and the processing capacity of the corresponding threads is verified and checked;
s4.2: and verifying thread scheduling pressure, and distributing a large number of thread tasks to cores with different numbers in sequence to ensure that the cores are in a full-load running state for a long time.
S5: verifying task-level scheduling robustness;
in the step S5, the robustness of task scheduling is verified by using a random verification method and a pressure verification method, and the steps are as follows:
s5.1: the task scheduling is randomly verified, different numbers of task scheduling units are randomly started to distribute prepared tasks, and the scheduling capability of the units to the tasks is verified;
s5.2: and verifying the task scheduling pressure, namely starting different numbers of task scheduling units in sequence, distributing a large number of tasks and ensuring that the unit is in a full-load task scheduling state for a long time.
S6: robustness verification is typically applied:
the robustness of typical application is verified by adopting a random verification method and a pressure verification method, and the method comprises the following steps:
s6.1: randomly verifying a typical task, randomly preparing a graphic processing task and a general processing task, putting the graphic processing task and the general processing task into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application;
s6.2: and (3) typical task pressure verification, namely preparing a large number of graphic processing tasks and general processing tasks, putting the graphic processing tasks and the general processing tasks into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application in a long-time full-load state.
Finally, it should be noted that the above examples are only used to illustrate the technical solutions of the present invention, and not to limit the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art; the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (7)

1. A large-scale staining array robustness verification method is characterized by comprising the following steps:
s1: verifying the robustness of the instruction set;
s2: verifying the robustness of the access resources;
s3: verifying the robustness of the operation unit;
s4: verifying the robustness of thread-level scheduling;
s5: verifying task-level scheduling robustness;
s6: robustness verification is typically applied.
2. The large-scale staining array robustness verification method of claim 1, wherein the S1 comprises:
the instructions cover all instruction sets of the current design; the method for verifying the robustness of the instruction set by adopting the random verification and the fault injection verification comprises the following steps:
s1.1: the instruction random verification, firstly, the random verification of the single instruction use method is carried out, and the functional state of the instruction when different registers and immediate numbers are randomly matched is verified; then verifying the random arrangement of the instructions, randomly arranging various instructions and verifying the correlation problem generated by the instruction arrangement;
s1.2: verifying the instruction fault injection, namely verifying the functional state of the wrong register address and data matched with the instruction;
s1.3: after the instruction verification is completed, the result is input to the operation unit S3 for verification.
3. The large-scale dye array robustness verification method as claimed in claim 1, wherein in S2, the access resources include resources in local storage, global storage, constant storage, and registers; the method adopts the random verification and the pressure verification to verify the robustness of the access and storage resources, and comprises the following steps:
s2.1: the memory access random verification is that data is written and read to different addresses of the memory randomly so as to verify whether the data passing through the memory is correct;
s2.2: the memory access pressure verification is that the method of single read and single write and chip read and chip write is respectively adopted to repeatedly read and write all the memory spaces of the memory to ensure that the memory is in a full-load working state for a long time so as to verify whether the full-load working state of the memory is normal or not;
s2.3: after the access and storage verification is finished, the result is input into an S3 arithmetic unit for verification.
4. The robustness verification method of the large-scale dyeing array according to claim 1, wherein the arithmetic unit in S3 comprises a fixed point unit, a floating point unit, a control unit and a storage loading unit, and the robustness of the arithmetic unit is verified by using a method of random verification, pressure verification and fault injection verification, and the method comprises the following steps:
s3.1: the arithmetic unit randomly verifies, randomly distributes different instructions of the unit to the arithmetic unit, and verifies the processing capacity of the unit;
s3.2: the pressure verification of the operation unit, preparing a large amount of instructions of the unit, enabling the unit to be in a full load working state for a long time, and verifying the performance of the unit;
s3.3: and (4) fault injection verification of the operation unit, wherein during verification, an error instruction and data are actively prepared for the operation unit, and the processing result of the operation unit is verified.
5. The robustness verification method of the large-scale dye array as claimed in claim 1, wherein in the step S4, the robustness of thread scheduling is verified by using a random verification method and a pressure verification method, and the steps are as follows:
s4.1: the thread scheduling random verification, the number of the cores is controlled to be opened through the mask, the cores with different numbers are opened randomly, the distributed threads are executed, and the processing capacity of the corresponding threads is verified and checked;
s4.2: and verifying thread scheduling pressure, and distributing a large number of thread tasks to cores with different numbers in sequence to ensure that the cores are in a full-load running state for a long time.
6. The robustness verification method of the large-scale staining array according to claim 1, wherein in the step S5, the robustness of task scheduling is verified by using a random verification method and a pressure verification method, and the steps are as follows:
s5.1: the task scheduling is randomly verified, different numbers of task scheduling units are randomly started to distribute prepared tasks, and the scheduling capability of the units to the tasks is verified;
s5.2: and verifying the task scheduling pressure, namely starting different numbers of task scheduling units in sequence, distributing a large number of tasks and ensuring that the unit is in a full-load task scheduling state for a long time.
7. The method for verifying robustness of a large-scale staining array according to claim 1, wherein in the step S6, the robustness of a typical application is verified by using a random verification method and a pressure verification method, and the steps are as follows:
s6.1: randomly verifying a typical task, randomly preparing a graphic processing task and a general processing task, putting the graphic processing task and the general processing task into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application;
s6.2: and (3) typical task pressure verification, namely preparing a large number of graphic processing tasks and general processing tasks, putting the graphic processing tasks and the general processing tasks into a dyeing array for execution, and verifying the robustness of the dyeing array to the processing capacity of typical application in a long-time full-load state.
CN201911125799.6A 2019-11-18 2019-11-18 Large-scale dyeing array robustness verification method Pending CN111047499A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911125799.6A CN111047499A (en) 2019-11-18 2019-11-18 Large-scale dyeing array robustness verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911125799.6A CN111047499A (en) 2019-11-18 2019-11-18 Large-scale dyeing array robustness verification method

Publications (1)

Publication Number Publication Date
CN111047499A true CN111047499A (en) 2020-04-21

Family

ID=70232055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911125799.6A Pending CN111047499A (en) 2019-11-18 2019-11-18 Large-scale dyeing array robustness verification method

Country Status (1)

Country Link
CN (1) CN111047499A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107166A1 (en) * 2008-10-23 2010-04-29 Advanced Micro Devices, Inc. Scheduler for processor cores and methods thereof
CN103294550A (en) * 2013-05-29 2013-09-11 中国科学院计算技术研究所 Heterogeneous multi-core thread scheduling method, heterogeneous multi-core thread scheduling system and heterogeneous multi-core processor
US20140375658A1 (en) * 2013-06-25 2014-12-25 Ati Technologies Ulc Processor Core to Graphics Processor Task Scheduling and Execution
CN105677966A (en) * 2016-01-05 2016-06-15 浪潮集团有限公司 Method for carrying out data mining accelerated verification convergence on coverage rate
CN105930242A (en) * 2016-05-06 2016-09-07 中国科学院计算技术研究所 Random multi-core processor verification method and device supporting precise memory access detection
CN106709860A (en) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 Debugging structure for GPU unified dyeing processing array
CN106991071A (en) * 2017-03-31 2017-07-28 联想(北京)有限公司 kernel dispatching method and system
CN108021478A (en) * 2017-11-24 2018-05-11 中国航空工业集团公司西安航空计算技术研究所 A kind of graphics processor robustness test method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107166A1 (en) * 2008-10-23 2010-04-29 Advanced Micro Devices, Inc. Scheduler for processor cores and methods thereof
CN103294550A (en) * 2013-05-29 2013-09-11 中国科学院计算技术研究所 Heterogeneous multi-core thread scheduling method, heterogeneous multi-core thread scheduling system and heterogeneous multi-core processor
US20140375658A1 (en) * 2013-06-25 2014-12-25 Ati Technologies Ulc Processor Core to Graphics Processor Task Scheduling and Execution
CN105677966A (en) * 2016-01-05 2016-06-15 浪潮集团有限公司 Method for carrying out data mining accelerated verification convergence on coverage rate
CN105930242A (en) * 2016-05-06 2016-09-07 中国科学院计算技术研究所 Random multi-core processor verification method and device supporting precise memory access detection
CN106709860A (en) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 Debugging structure for GPU unified dyeing processing array
CN106991071A (en) * 2017-03-31 2017-07-28 联想(北京)有限公司 kernel dispatching method and system
CN108021478A (en) * 2017-11-24 2018-05-11 中国航空工业集团公司西安航空计算技术研究所 A kind of graphics processor robustness test method

Similar Documents

Publication Publication Date Title
CN109144515B (en) Off-line simulation method and device for DCS graphical algorithm configuration
US7950001B2 (en) Method and apparatus for instrumentation in a multiprocessing environment
US8843910B1 (en) Identifying a set of functionally distinct reorderings in a multithreaded program
CN101446918B (en) Method for realizing debugging of single function by user state debugger and system thereof
US20110145643A1 (en) Reproducible test framework for randomized stress test
CN101777007B (en) Parallel function simulation system for on-chip multi-core processor and method thereof
US8566647B2 (en) Debugger presentation of parallel application threads
US10430192B2 (en) Vector processing using loops of dynamic vector length
US11301283B1 (en) Virtualization extension modules
CN110851246A (en) Batch task processing method, device and system and storage medium
US20150212835A1 (en) Automatic identification of interesting interleavings in a multithreaded program
EP3846036B1 (en) Matrix storage method, matrix access method, apparatus and electronic device
CN102331961B (en) Method, system and dispatcher for simulating multiple processors in parallel
US10684834B2 (en) Method and apparatus for detecting inter-instruction data dependency
CN111026444A (en) GPU parallel array SIMT instruction processing model
CN112948136A (en) Method for implementing asynchronous log record of embedded operating system
CN111047499A (en) Large-scale dyeing array robustness verification method
US9038077B1 (en) Data transfer protection in a multi-tasking modeling environment
US9268601B2 (en) API for launching work on a processor
US20130166887A1 (en) Data processing apparatus and data processing method
WO2022134426A1 (en) Instruction distribution method and system in reconfigurable processor, and storage medium
CN108959070A (en) A kind of Python Hook Function method and apparatus based on code object
US7890740B2 (en) Processor comprising a first and a second mode of operation and method of operating the same
WO2020205379A1 (en) Widening memory access to an aligned address for unaligned memory operations
CN112445661B (en) Automatic parallel memory access assembly program generating system and memory consistency testing method

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200421

RJ01 Rejection of invention patent application after publication