[CPU] msvc: suppress warning in nodes/mlas directory#35777
Conversation
43ed0b1 to
b236914
Compare
b236914 to
c2e9de4
Compare
189e26e to
af061e6
Compare
c3350b7 to
6189484
Compare
| auto sign_of_stride = stride < 0 ? -1 : 1; | ||
|
|
||
| iter_count = full_dims[axis] / abs_stride; | ||
| iter_count = static_cast<int32_t>(full_dims[axis] / abs_stride); |
There was a problem hiding this comment.
iter_ocunt is int. Why do we cast to int32_t and not int?
Applicable for all the places where int32_t is used
There was a problem hiding this comment.
iter_ocunt is
int. Why do we cast toint32_tand notint? Applicable for all the places whereint32_tis used
I have reviewed all the int32_t in the patch. int is recovered unless int32_t is necessary.
Also, I removed the MSVC warnings option in the top CMakeLists.txt. Help review it again. Thanks.
@EgorDuplensky
e394d0f to
001443a
Compare
| float* C, | ||
| const int64_t ldc, | ||
| size_t thread_num) { | ||
| int32_t thread_num) { |
There was a problem hiding this comment.
please revise every int32_t case
There was a problem hiding this comment.
int32_t case
only 4 static_cast<int32_t>(...) imported in the below files. That is because the context itself is int32_t. We should keep the syntax aligned. Other int32_t have been replaced with int.
- src/plugins/intel_cpu/src/nodes/gather_nd.cpp
- src/plugins/intel_cpu/src/nodes/gather_tree.cpp
- src/plugins/intel_cpu/src/nodes/multiclass_nms.cpp
- src/plugins/intel_cpu/src/shape_inference/custom/reshape.cpp
cea5105 to
4e469c2
Compare
| vlen(vlen), | ||
| dataElPerVec(vlen / jcp.dataTypeSize), | ||
| idxElPerVec(vlen / indicesTypeSize), | ||
| vlen(static_cast<uint32_t>(vlen)), |
There was a problem hiding this comment.
what warning do we fix here?
vlen argument is uint64_t and vlen member variable is also uint64_t
There was a problem hiding this comment.
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\gather_uni_kernel.cpp(431,21): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\gather_uni_kernel.cpp(527,21): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\gather_uni_kernel.cpp(1107,20): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]| const GridSampleKernelConfParams& jcp, | ||
| dnnl::impl::cpu::x64::cpu_isa_t isa, | ||
| uint64_t vlen) | ||
| uint32_t vlen) |
There was a problem hiding this comment.
what warning do we fix here?
There was a problem hiding this comment.
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(343,18): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(350,18): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(373,18): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(379,18): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(441,37): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(447,22): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(448,19): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(502,37): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(508,22): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(509,19): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(559,22): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(579,22): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(600,37): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(609,22): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(610,19): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(287,28): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(287,28):
the template instantiation context (the oldest one first) is
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(73,42):
see reference to class template instantiation 'ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>' being compiled
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(279,43):
while compiling class template member function 'void ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>::spatialLoop(void)'
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(260,20):
see the first reference to 'ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>::spatialLoop' in 'ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>::process'
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(66,12):
see the first reference to 'ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>::process' in 'ov::intel_cpu::kernel::GridSampleKernel<dnnl::impl::cpu::x64::avx512_core>::generate'
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(294,28): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]
E:\xiuchuan\dev\openvino\src\plugins\intel_cpu\src\nodes\kernels\x64\grid_sample.cpp(295,21): warning C4244: 'argument': conversion from 'uint64_t' to 'uint32_t', possible loss of data [E:\xiuchuan\dev\openvino\build\src\plugins\intel_cpu\openvino_intel_cpu_plugin.vcxproj]| auto r32Ones = getReg32(); | ||
| Xbyak::Reg64 r64Ones(r32Ones.getIdx()); | ||
| auto elPerVec = x64::cpu_isa_traits_t<x64::sse41>::vlen / typeSize; | ||
| auto elPerVec = static_cast<uint32_t>(x64::cpu_isa_traits_t<x64::sse41>::vlen / typeSize); |
There was a problem hiding this comment.
what warning do we fix here?
There are many similar uint32_t changes made. I guess this question is applicable for all of them
There was a problem hiding this comment.
@EgorDuplensky
That is because jit kernel like cmp use int32_t. If uint64_t is kept, more static_cast<uint32_t> will be imported in the jit kernel. If we cast at the beginning, we will save more cast in the kernel. Above comments are also the same reason.
9bc460c to
4e469c2
Compare
4e469c2 to
34923ed
Compare
fadc486
Details:
Tickets:
AI Assistance: