Release Notes for WinML and DirectML on Windows® 10 May 2020 Update

ID 672248
Updated 5/11/2020
Version Latest
Public

author-image

By

What’s New

  • Addition of D3D12 Metacommand support for Mean Variance Normalization and LSTM Metacommands. This support is available on 10th Generation Intel® Core™ processors with Intel® Iris® Plus Graphics, and later platforms, and beginning with the Windows® 10 May 2020 Update Driver 27.20.100.8190 release.

Known Issue(s)

Some Microsoft* WinML and DirectML applications performance in the Windows® 10 May 2020 Update Driver 27.20.100.8190 release may have lower performance than in prior OS versions, in cases where the application’s ONNX model does not have batch dimension specified. When ONNX models are converted from other model formats to ONNX, the batch dimension may be specified as “unknown” or “none” (as seen in figure below). There may be additional overhead to safely handle this case, causing performance impacts for Windows ML and DirectML applications.

image dimention illustration

To mitigate this issue, the model can be modified to denote the batch dimension as DATA_BATCH (as defined in the ONNX specification). Then the batch dimension value can be explicitly defined in the model or an application may also program the batch dimension explicitly, as in the code snippet below:


LearningModelSessionOptions ExampleWinMLApp::CreateSessionOptions(int batchSize)
{
        auto options = LearningModelSessionOptions();
        options.BatchSizeOverride(batchSize);
        return options;
}

{
        ………………………………………………………
        ………………………………………………………
        LearningModelSessionOptions op = CreateSessionOptions(batch_size);
        LearningModelSession session = LearningModelSession{ model, device, op };
        LearningModelBinding binding = LearningModelBinding{ session };
        ………………………………………………………
}