TDR2 - Large Payload Penalty Compute Application Test
This automated test measures the Timeout Detection and Recovery (TDR) capabilities of the graphics processing unit (GPU) of a video card or chipset.
This topic applies to these test jobs:
TDR2 - Large Payload Penalty Compute Application Test
TDR2 - Large Payload Penalty Graphics Application Test
TDR2 - Long Running Compute Packet Expect NO TDR (Interactive - win7)
TDR2 - Long Running Compute Packet Expect NO TDR (Interactive - win7, PoliceDdi)
TDR2 - Long Running Compute Packet Expect TDR (Interactive - win7)
TDR2 - Long Running Compute Packet Expect TDR (NonInteractive - win8)
TDR2 - Long Running Compute Packet Expect TDR (PoliceDdi)
TDR2 - Long Running Compute Packet Expect TDR (PoliceDdi, NonInteractive)
TDR2 - Long Running Graphics Packet Expect NO TDR (Interactive - win7)
TDR2 - Long Running Graphics Packet Expect NO TDR (Interactive - win7, PoliceDdi)
TDR2 - Long Running Graphics Packet Expect TDR (Interactive - win7)
TDR2 - Long Running Graphics Packet Expect TDR (NonInteractive - win8)
TDR2 - Long Running Graphics Packet Expect TDR (PoliceDdi)
TDR2 - Long Running Graphics Packet Expect TDR (PoliceDdi, NonInteractive)
TDR2 - Multiple TDR Compute Lockout and Recovery Test (Enumerated Adapter)
TDR2 - Multiple TDR Compute Lockout and Recovery Test (NULL Adapter)
TDR2 - Multiple TDR Graphics Lockout and Recovery Test (Enumerated Adapter)
TDR2 - Multiple TDR Graphics Lockout and Recovery Test (NULL Adapter)
TDR2 - Scheduler WLK Validate WDDM1.2 drivers say they support per engine resets
TDR2 - Standard Two Device Test Graphics (Uninterrupted when another app TDRs)
Test details
Associated requirements |
Device.Graphics.WDDM12.Render.TDRResiliency |
Platforms |
Windows RT (ARM-based) Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64) Windows RT 8.1 Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2 |
Expected run time |
~2 minutes |
Categories |
Certification Functional |
Type |
Automated |
Running the Test
Before you run the test, complete the test setup as described in Graphic Adapter or Chipset Testing Prerequisites.
Troubleshooting
For troubleshooting information, see Troubleshooting Device.Graphics Testing.
More Information
The TDR2 test validates that the video driver functions correctly when GPU workloads, as direct memory access (DMA) packets, are processed for longer periods than expected or wanted.
Terms that you'll find in the titles of the jobs for this test include:
Interactive (standard behavior). The application doesn't schedule larger workloads. TDRs (at 2 seconds) are expected if the workload is too big.
NonInteractive (new functionality). The application may schedule workloads that take longer than 2 seconds to finish. A typical scenario here is a Compute application that will run a large calculation in the background. With NonInteractive workloads, the scheduler will not interrupt its processing if no other GPU work must be performed at the same time.
PoliceDdi. When resets occur, the test jobs track all device driver interface (DDI) calls to measure a reasonable responsiveness from the driver and hardware. Generally, DDI calls that take over a quarter second are flagged as excessive.
These test jobs also exercise engine-reset functionality where appropriate. The older TDR functionality performed an adapter-wide reset, whereas the new TDR functionality attempts an engine reset before an adapter-wide reset.
The testing process requires running multiple binaries at the same time. One or more applications generate workloads while another application monitors the effect that these workloads have on the system. The command lines that the test jobs use to start the applications allow for cross-process communication, so running the test jobs in scripts is the preferred technique.
Note
You must run all test jobs by using administrator credentials. All the test binaries generate log files that shouldn't contain test failures.
Command syntax
TDR2 test jobs are divided into these areas:
Long Running Graphics Packet test jobs
Long Running Compute Packets test jobs
Multiple TDR Lockout and Recovery test jobs
Uninterrupted Application test job
Large Payload Penalty test jobs
Miscellaneous test job
Scripts control actions that occur during individual test jobs. The following tables list these scripts. If you're manually reproducing the test jobs, you must run these scripts.
Note
For test combination command lines, see individual script files.
The following Long Running Graphics Packet test jobs run test situations that should and shouldn't cause a TDR, based on whether the test acts like an interactive application. These test jobs also make sure that DDI calls respond in a reasonable amount of time.
Test job | Command script |
---|---|
TDR2 - Long Running Graphics Packet Expect NO TDR (Interactive - win7) |
TDR_Long_Graphics_5.cmd |
TDR2 - Long Running Graphics Packet Expect NO TDR (Interactive - win7, PoliceDdi) |
TDR_Long_Graphics_6.cmd |
TDR2 - Long Running Graphics Packet Expect TDR (Interactive - win7) |
TDR_Long_Graphics_1.cmd |
TDR2 - Long Running Graphics Packet Expect TDR (NonInteractive - win8) |
TDR_Long_Graphics_2.cmd |
TDR2 - Long Running Graphics Packet Expect TDR (PoliceDdi) |
TDR_Long_Graphics_3.cmd |
TDR2 - Long Running Graphics Packet Expect TDR (PoliceDdi, NonInteractive) |
TDR_Long_Graphics_4.cmd |
The following Long Running Compute Packet test jobs run test situations that should and shouldn't cause a TDR, based on whether the test acts like an interactive application. These test jobs also validate that DDI calls respond in a reasonable amount of time.
Test job | Command script |
---|---|
TDR2 - Long Running Compute Packet Expect TDR (Interactive - win7) |
TDR_Long_Compute_1.cmd |
TDR2 - Long Running Compute Packet Expect TDR (NonInteractive - win8) |
TDR_Long_Compute_2.cmd |
TDR2 - Long Running Compute Packet Expect TDR (PoliceDdi) |
TDR_Long_Compute_3.cmd |
TDR2 - Long Running Compute Packet Expect TDR (PoliceDdi, NonInteractive) |
TDR_Long_Compute_4.cmd |
TDR2 - Long Running Compute Packet Expect NO TDR (Interactive - win7, PoliceDdi) |
TDR_Long_Compute_5.cmd |
TDR2 - Long Running Compute Packet Expect NO TDR (Interactive - win7) |
TDR_Long_Compute_6.cmd |
In the following Multiple TDR Lockout and Recovery test jobs, the application runs workloads that cause a TDR. The test jobs then validate that after 6 TDRs in a particular period, the application can no longer open the hardware device.
Test job | Command script |
---|---|
TDR2 - Multiple TDR Compute Lockout and Recovery Test (Enumerated Adapter) |
TDR_Multiple_4.cmd |
TDR2 - Multiple TDR Compute Lockout and Recovery Test (NULL Adapter) |
TDR_Multiple_3.cmd |
TDR2 - Multiple TDR Graphics Lockout and Recovery Test (Enumerated Adapter) |
TDR_Multiple_2.cmd |
TDR2 - Multiple TDR Graphics Lockout and Recovery Test (NULL Adapter) |
TDR_Multiple_1.cmd |
The following Uninterrupted Application test job makes sure that when an engine reset occurs, an application that currently has the device open continues to function without a device lost.
Test job | Command script |
---|---|
TDR2 - Standard Two Device Test Graphics (Uninterrupted when another app TDRs) |
TDR_Standard_1.cmd |
The following Large Payload Penalty test jobs run workloads that are just under the TDR threshold. The test jobs validate that the scheduler correctly delays the application.
Test job | Command script |
---|---|
TDR2 - Large Payload Penalty Compute Application Test |
TDR_Large_Payload_Compute.cmd |
TDR2 - Large Payload Penalty Graphics Application Test |
TDR_Large_Payload_Graphics.cmd |
The following Miscellaneous test job validates that the driver sets appropriate flags.
Test job | Command script |
---|---|
TDR2 - Scheduler WLK Validate WDDM1.2 drivers say they support per engine resets |
TDR_Validate_WDDM12.cmd |
File list
File | Location |
---|---|
Configdisplay.exe |
<[testbinroot]>\nttest\windowstest\tools\ |
DxgFault.exe |
<[testbinroot]>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
SchBillboard.exe |
<[testbinroot]>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
SchManager.exe |
<[testbinroot]>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
Surfboard.exe |
<[testbinroot]>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
TdrKMDODTests.dll |
<[testbinroot]>\nttest\ |
WGFPayloadTDR.exe |
<[testbinroot]>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |