Preemption Test

The GPU Preemption tests are designed to exercise the code paths where the driver is requested to preemption work in progress on the GPU. The tests check for compliance with the WDDM1.2 feature set and validate that when the system does preempt, the response time is in line with what is expected.

This test document is applicable to the following test jobs:

  • Preempt - Schedule reasonable workload 4 ms check

  • Preempt - Scheduler WLK PERF - Time to high priority completions (PoliceMS)

  • Preempt - Scheduler WLK PERF - Time to high priority Preemptions (PoliceMS)

  • Preempt - Scheduler WLK Validate non-zero preemption values for WDDM1.2 hardware

  • Preemption - Validate driver preemption level (single)

Test details

Associated requirement(s)

Device.Graphics.WDDM12.Render.PreemptionGranularity

See the device hardware requirements.

Platforms

Windows RT (ARM-based) Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64)

Run time

~2 minutes

 

Running the test

Before you run the test, complete the test setup as described in the test requirements: Graphic Adapter or Chipset Testing Prerequisites.

Troubleshooting

For troubleshooting information, see Troubleshooting Device.Graphics Testing.

More information

Some of the test jobs described in this document require the running of multiple binaries at the same time. Because of this, script files are used and referred too below.

Note  

All test scripts must be run with administrator privileges from a command prompt. The test binaries generate log files that should have no failures.

 

Test job Command script details

Preempt - Schedule reasonable workload 4 ms check

REM Copy these lines into a script file and run as adminSchManager.exe ListenForPreemptionTime Time:30 SyncWith:LilyFly ProcCount:4 Loop:1 windowed:true Quadrant:4 PoliceMS:truesched_basic.exe -I:3 -ProcCount:4 -SyncWith:LilyFly

Preempt - Scheduler WLK PERF - Time to high priority completions (PoliceMS)

Preempt_Time_to_Completions.cmd

Preempt - Scheduler WLK PERF - Time to high priority Preemptions (PoliceMS)

Preempt_Time_to_Preemptions.cmd

Preempt - Scheduler WLK Validate non-zero preemption values for WDDM1.2 hardware

REM Copy these lines into a script file and run as adminSchBillboard.exe Time:5 SyncWith:ABC123HiGirls ProcCount:2 Quadrant:2SchManager.exe ListenForPreemptionTime EnforcePreemptionSupport:true Time:5 SyncWith:ABC123HiGirls ProcCount:2 Loop:1 windowed:true Quadrant:4

Preemption - Validate driver preemption level (single)

REM Only one application to run here.Surfboard.exe GrowPrimitiveCount Time:5 ppFrame:1 Triangles:1000 ppPrimitive:10000 ShaderInstructions:2 windowed:true iterations:40

 

Command syntax

See the individual script files for test combination command lines.

File list

File Location

SchBillboard.exe

<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\

SchManager.exe

<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\

SurfBoard.exe

<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\\

 

 

 

Send comments about this topic to Microsoft