From 9dd593e18ffb3ca6aa0e6a325206a4546d0abe77 Mon Sep 17 00:00:00 2001 From: Patrice Vignola Date: Tue, 13 Dec 2022 13:24:02 -0800 Subject: [PATCH] [DML EP] Fix prefast warning in LayerNorm ops (#13889) ### Description Fix prefast warning in LayerNorm ops ### Motivation and Context Prefast complains that we should upcast before subtracting because otherwise an overflow (or underflow) could happen. So we add these casts to appease it. --- .../src/Operators/DmlOperatorLayerNormalization.cpp | 2 +- .../src/Operators/DmlOperatorSkipLayerNormalization.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorLayerNormalization.cpp b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorLayerNormalization.cpp index 30047e750c..9b366649de 100644 --- a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorLayerNormalization.cpp +++ b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorLayerNormalization.cpp @@ -30,7 +30,7 @@ public: int32_t onnxAxis = kernelCreationContext.GetOptionalAttribute(AttrName::Axis, -1); uint32_t inputDimCount = kernelCreationContext.GetTensorShapeDescription().GetInputTensorDimensionCount(0); onnxAxis = OperatorHelper::HandleNegativeAxis(onnxAxis, inputDimCount); - std::vector onnxAxes(inputDimCount - onnxAxis); + std::vector onnxAxes(static_cast(inputDimCount) - static_cast(onnxAxis)); std::iota(onnxAxes.begin(), onnxAxes.end(), onnxAxis); assert(m_inputTensorDescs.size() == 3); diff --git a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorSkipLayerNormalization.cpp b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorSkipLayerNormalization.cpp index 5c6e98c17a..5f5a93282e 100644 --- a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorSkipLayerNormalization.cpp +++ b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/DmlOperatorSkipLayerNormalization.cpp @@ -27,7 +27,7 @@ public: int32_t onnxAxis = kernelCreationContext.GetOptionalAttribute(AttrName::Axis, -1); uint32_t inputDimCount = kernelCreationContext.GetTensorShapeDescription().GetInputTensorDimensionCount(0); onnxAxis = OperatorHelper::HandleNegativeAxis(onnxAxis, inputDimCount); - std::vector onnxAxes(inputDimCount - onnxAxis); + std::vector onnxAxes(static_cast(inputDimCount) - static_cast(onnxAxis)); std::iota(onnxAxes.begin(), onnxAxes.end(), onnxAxis); assert(m_inputTensorDescs.size() == 5);