1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 07:13:02 +04:00

Merge pull request #28668 from abhishek-gola:AVXVNNI_support

Added AVX_VNNI function to core module
This commit is contained in:
Alexander Smorkalov
2026-03-18 07:47:11 +03:00
committed by GitHub
2 changed files with 9 additions and 0 deletions
@@ -274,6 +274,7 @@ namespace cv {
#define CV_CPU_AVX_512VPOPCNTDQ 25
#define CV_CPU_AVX_5124VNNIW 26
#define CV_CPU_AVX_5124FMAPS 27
#define CV_CPU_AVX_VNNI 28
#define CV_CPU_NEON 100
#define CV_CPU_NEON_DOTPROD 101
@@ -338,6 +339,7 @@ enum CpuFeatures {
CPU_AVX_512VPOPCNTDQ= 25,
CPU_AVX_5124VNNIW = 26,
CPU_AVX_5124FMAPS = 27,
CPU_AVX_VNNI = 28,
CPU_NEON = 100,
CPU_NEON_DOTPROD = 101,
+7
View File
@@ -474,6 +474,7 @@ struct HWFeatures
g_hwFeatureNames[CPU_AVX_512VPOPCNTDQ] = "AVX512VPOPCNTDQ";
g_hwFeatureNames[CPU_AVX_5124VNNIW] = "AVX5124VNNIW";
g_hwFeatureNames[CPU_AVX_5124FMAPS] = "AVX5124FMAPS";
g_hwFeatureNames[CPU_AVX_VNNI] = "AVX_VNNI";
g_hwFeatureNames[CPU_NEON] = "NEON";
g_hwFeatureNames[CPU_NEON_DOTPROD] = "NEON_DOTPROD";
@@ -555,6 +556,11 @@ struct HWFeatures
have[CV_CPU_AVX_5124VNNIW] = (cpuid_data_ex[3] & (1<<2)) != 0;
have[CV_CPU_AVX_5124FMAPS] = (cpuid_data_ex[3] & (1<<3)) != 0;
// CPUID leaf 7, subleaf 1 for AVX-VNNI
int cpuid_data_ex1[4] = { 0, 0, 0, 0 };
CV_CPUID_X86(cpuid_data_ex1, 7, 1);
have[CV_CPU_AVX_VNNI] = (cpuid_data_ex1[0] & (1<<4)) != 0;
bool have_AVX_OS_support = true;
bool have_AVX512_OS_support = true;
if (!(cpuid_data[2] & (1<<27)))
@@ -579,6 +585,7 @@ struct HWFeatures
have[CV_CPU_FP16] = false;
have[CV_CPU_AVX2] = false;
have[CV_CPU_FMA3] = false;
have[CV_CPU_AVX_VNNI] = false;
}
if (!have_AVX_OS_support || !have_AVX512_OS_support)
{