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

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 };
        ………………………………………………………
}

 

Informações de produto e desempenho

1

Os compiladores da Intel podem ou não otimizar para o mesmo nível de microprocessadores não Intel no caso de otimizações que não são exclusivas para microprocessadores Intel. Essas otimizações incluem os conjuntos de instruções SSE2, SSE3 e SSSE3, e outras otimizações. A Intel não garante a disponibilidade, a funcionalidade ou eficácia de qualquer otimização sobre microprocessadores não fabricados pela Intel. As otimizações que dependem de microprocessadores neste produto são destinadas ao uso com microprocessadores Intel. Algumas otimizações não específicas da microarquitetura Intel são reservadas para os microprocessadores Intel. Consulte os Guias de Usuário e Referência do produto aplicáveis para obter mais informações sobre os conjuntos de instruções específicos cobertos por este aviso.

Revisão do aviso #20110804