|
|
|
@ -103,13 +103,13 @@ Ptr<FastConv> initFastConv( |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
conv->conv_type = ifRunDepthWise && conv_dim != CONV_3D ? CONV_TYPE_DEPTHWISE : |
|
|
|
|
useWinograd && (conv_dim == CONV_2D && (conv->useSIMD128 || conv->useAVX2 || conv->useNEON) && |
|
|
|
|
useWinograd && (conv_dim == CONV_2D && (conv->useSIMD128 || conv->useAVX || conv->useAVX2 || conv->useNEON) && |
|
|
|
|
Hk == 3 && Wk == 3 && dilation_h == 1 && dilation_w == 1 && stride_h == 1 && stride_w == 1) ? |
|
|
|
|
CONV_TYPE_WINOGRAD3X3 : |
|
|
|
|
(ifRunDepthWiseRemain ? CONV_TYPE_DEPTHWISE_REMAIN : CONV_TYPE_GENERIC); |
|
|
|
|
|
|
|
|
|
#if !(CV_NEON || CV_SIMD128 || CV_TRY_AVX2) |
|
|
|
|
if (conv->conv_type == CONV_TYPE_WINOGRAD3X3) // Disabel Winograd when CV_NEON, CV_SIMD128 and CV_TRY_AVX2 are not available.
|
|
|
|
|
#if !(CV_NEON || CV_SIMD128 || CV_TRY_AVX || CV_TRY_AVX2) |
|
|
|
|
if (conv->conv_type == CONV_TYPE_WINOGRAD3X3) // Disabel Winograd when CV_NEON, CV_SIMD128 ,CV_TRY_AVX and CV_TRY_AVX2 are not available.
|
|
|
|
|
conv->conv_type = CONV_TYPE_GENERIC; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|