Skip to content

Commit bb3b1d8

Browse files
committed
Implemented AVX-512 optimized pmix functions
1 parent f814f5d commit bb3b1d8

File tree

10 files changed

+399
-8
lines changed

10 files changed

+399
-8
lines changed

include/private/dsp/arch/x86/avx512/pmath/pmix.h

Lines changed: 386 additions & 0 deletions
Large diffs are not rendered by default.

src/main/x86/avx512.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,11 @@
360360
CEXPORT1(vl, clamp_vv2);
361361
CEXPORT1(vl, clamp_kk1);
362362
CEXPORT1(vl, clamp_kk2);
363+
364+
CEXPORT1(vl, pmix_v1);
365+
CEXPORT1(vl, pmix_v2);
366+
CEXPORT1(vl, pmix_k1);
367+
CEXPORT1(vl, pmix_k2);
363368
}
364369
} /* namespace avx2 */
365370
} /* namespace lsp */

src/test/ptest/pmath/pmix_k1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ PTEST_BEGIN("dsp.pmath", pmix_k1, 5, 1000)
112112
IF_ARCH_X86(CALL(sse::pmix_k1));
113113
IF_ARCH_X86(CALL(avx::pmix_k1));
114114
IF_ARCH_X86(CALL(avx::pmix_k1_fma3));
115-
// IF_ARCH_X86(CALL(avx512::pmix_k1));
115+
IF_ARCH_X86(CALL(avx512::pmix_k1));
116116
// IF_ARCH_ARM(CALL(neon_d32::pmix_k1));
117117
// IF_ARCH_AARCH64(CALL(asimd::pmix_k1));
118118
PTEST_SEPARATOR;

src/test/ptest/pmath/pmix_k2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ PTEST_BEGIN("dsp.pmath", pmix_k2, 5, 1000)
112112
IF_ARCH_X86(CALL(sse::pmix_k2));
113113
IF_ARCH_X86(CALL(avx::pmix_k2));
114114
IF_ARCH_X86(CALL(avx::pmix_k2_fma3));
115-
// IF_ARCH_X86(CALL(avx512::pmix_k2));
115+
IF_ARCH_X86(CALL(avx512::pmix_k2));
116116
// IF_ARCH_ARM(CALL(neon_d32::pmix_k2));
117117
// IF_ARCH_AARCH64(CALL(asimd::pmix_k2));
118118
PTEST_SEPARATOR;

src/test/ptest/pmath/pmix_v1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ PTEST_BEGIN("dsp.pmath", pmix_v1, 5, 1000)
116116
IF_ARCH_X86(CALL(sse::pmix_v1));
117117
IF_ARCH_X86(CALL(avx::pmix_v1));
118118
IF_ARCH_X86(CALL(avx::pmix_v1_fma3));
119-
// IF_ARCH_X86(CALL(avx512::pmix_v1));
119+
IF_ARCH_X86(CALL(avx512::pmix_v1));
120120
// IF_ARCH_ARM(CALL(neon_d32::pmix_v1));
121121
// IF_ARCH_AARCH64(CALL(asimd::pmix_v1));
122122
PTEST_SEPARATOR;

src/test/ptest/pmath/pmix_v2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ PTEST_BEGIN("dsp.pmath", pmix_v2, 5, 1000)
114114
IF_ARCH_X86(CALL(sse::pmix_v2));
115115
IF_ARCH_X86(CALL(avx::pmix_v2));
116116
IF_ARCH_X86(CALL(avx::pmix_v2_fma3));
117-
// IF_ARCH_X86(CALL(avx512::pmix_v2));
117+
IF_ARCH_X86(CALL(avx512::pmix_v2));
118118
// IF_ARCH_ARM(CALL(neon_d32::pmix_v2));
119119
// IF_ARCH_AARCH64(CALL(asimd::pmix_v2));
120120
PTEST_SEPARATOR;

src/test/utest/pmath/pmix_k1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ UTEST_BEGIN("dsp.pmath", pmix_k1)
122122
IF_ARCH_X86(CALL(generic::pmix_k1, sse::pmix_k1, 16));
123123
IF_ARCH_X86(CALL(generic::pmix_k1, avx::pmix_k1, 32));
124124
IF_ARCH_X86(CALL(generic::pmix_k1, avx::pmix_k1_fma3, 32));
125-
// IF_ARCH_X86(CALL(generic::pmix_k1, avx512::pmix_k1, 64));
125+
IF_ARCH_X86(CALL(generic::pmix_k1, avx512::pmix_k1, 64));
126126
// IF_ARCH_ARM(CALL(generic::pmix_k1, neon_d32::pmix_k1, 16));
127127
// IF_ARCH_AARCH64(CALL(generic::pmix_k1, asimd::pmix_k1, 16));
128128
}

src/test/utest/pmath/pmix_k2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ UTEST_BEGIN("dsp.pmath", pmix_k2)
122122
IF_ARCH_X86(CALL(generic::pmix_k2, sse::pmix_k2, 16));
123123
IF_ARCH_X86(CALL(generic::pmix_k2, avx::pmix_k2, 32));
124124
IF_ARCH_X86(CALL(generic::pmix_k2, avx::pmix_k2_fma3, 32));
125-
// IF_ARCH_X86(CALL(generic::pmix_k2, avx512::pmix_k2, 64));
125+
IF_ARCH_X86(CALL(generic::pmix_k2, avx512::pmix_k2, 64));
126126
// IF_ARCH_ARM(CALL(generic::pmix_k2, neon_d32::pmix_k2, 16));
127127
// IF_ARCH_AARCH64(CALL(generic::pmix_k2, asimd::pmix_k1, 16));
128128
}

src/test/utest/pmath/pmix_v1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ UTEST_BEGIN("dsp.pmath", pmix_v1)
125125
IF_ARCH_X86(CALL(generic::pmix_v1, sse::pmix_v1, 16));
126126
IF_ARCH_X86(CALL(generic::pmix_v1, avx::pmix_v1, 32));
127127
IF_ARCH_X86(CALL(generic::pmix_v1, avx::pmix_v1_fma3, 32));
128-
// IF_ARCH_X86(CALL(generic::pmix_v1, avx512::pmix_v1, 64));
128+
IF_ARCH_X86(CALL(generic::pmix_v1, avx512::pmix_v1, 64));
129129
// IF_ARCH_ARM(CALL(generic::pmix_v1, neon_d32::pmix_v1, 16));
130130
// IF_ARCH_AARCH64(CALL(generic::pmix_v1, asimd::pmix_v1, 16));
131131
}

src/test/utest/pmath/pmix_v2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ UTEST_BEGIN("dsp.pmath", pmix_v2)
125125
IF_ARCH_X86(CALL(generic::pmix_v2, sse::pmix_v2, 16));
126126
IF_ARCH_X86(CALL(generic::pmix_v2, avx::pmix_v2, 32));
127127
IF_ARCH_X86(CALL(generic::pmix_v2, avx::pmix_v2_fma3, 32));
128-
// IF_ARCH_X86(CALL(generic::pmix_v2, avx512::pmix_v2, 64));
128+
IF_ARCH_X86(CALL(generic::pmix_v2, avx512::pmix_v2, 64));
129129
// IF_ARCH_ARM(CALL(generic::pmix_v2, neon_d32::pmix_v2, 16));
130130
// IF_ARCH_AARCH64(CALL(generic::pmix_v2, asimd::pmix_v2, 16));
131131
}

0 commit comments

Comments
 (0)