Skip to content

Commit

Permalink
Replace vscaleextexp yaml with header table
Browse files Browse the repository at this point in the history
 - Include table header and remove yaml file
  • Loading branch information
RahulSundarMCW committed Nov 4, 2024
1 parent 2468fc2 commit 60ea4c8
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 1,002 deletions.
1 change: 1 addition & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ MICROKERNEL_DEFS = [
"src/f32-vrnd/f32-vrndu.h",
"src/f32-vrnd/f32-vrndz.h",
"src/f32-vrsqrt/f32-vrsqrt.h",
"src/f32-vscaleextexp/f32-vscaleextexp.h",
"src/f32-vsigmoid/f32-vsigmoid.h",
"src/f32-vsqr/f32-vsqr.h",
"src/f32-vsqrt/f32-vsqrt.h",
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ tools/generate-raddstoreexpminusmax-test.py --spec test/f16-raddstoreexpminusmax
tools/generate-raddstoreexpminusmax-test.py --spec test/f32-raddstoreexpminusmax.yaml --output test/f32-raddstoreexpminusmax.cc &

### Tests for VScaleExtExp micro-kernels
tools/generate-vscaleextexp-test.py --spec test/f32-vscaleextexp.yaml --output test/f32-vscaleextexp.cc &
tools/generate-vscaleextexp-test.py --tester VScaleExtExpMicrokernelTester --ukernel f32-vscaleextexp --output test/f32-vscaleextexp.cc &

### Tests for VScaleExpMinusMax micro-kernels
tools/generate-vscaleexpminusmax-test.py --spec test/f32-vscaleexpminusmax.yaml --output test/f32-vscaleexpminusmax.cc &
Expand Down
52 changes: 52 additions & 0 deletions src/f32-vscaleextexp/f32-vscaleextexp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Copyright 2023 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
#ifndef XNN_UKERNEL_WITH_PARAMS
#define XNN_UKERNEL_WITH_PARAMS(arch_flags, ukernel, element_tile, datatype, params_type, init_params) \
XNN_UKERNEL(arch_flags, ukernel, element_tile, datatype)
#define XNN_DEFINED_UKERNEL_WITH_PARAMS
#endif
#ifndef XNN_UKERNEL
#define XNN_UKERNEL(arch_flags, ukernel, element_tile, datatype) \
XNN_UKERNEL_WITH_PARAMS(arch_flags, ukernel, element_tile, datatype, void, /*init_params=*/nullptr)
#define XNN_DEFINED_UKERNEL
#endif
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u8, 8, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u16, 16, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u24, 24, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u32, 32, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u40, 40, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u48, 48, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u56, 56, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u64, 64, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u72, 72, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u80, 80, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u88, 88, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx2, xnn_f32_vscaleextexp_ukernel__avx2_p5_u96, 96, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
#endif //XNN_ENABLE_XNN_ARCH_X86

#if XNN_ENABLE_AVX512F_U32 && (XNN_ARCH_X86 || XNN_ARCH_X86_64)
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u16, 16, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u32, 32, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u48, 48, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u64, 64, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u80, 80, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u96, 96, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u112, 112, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u128, 128, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u144, 144, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u160, 160, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u176, 176, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
XNN_UKERNEL_WITH_PARAMS(xnn_arch_x86_avx512f, xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_u192, 192, float, struct xnn_f32_default_params, ((xnn_f32_vscaleextexp_ukernel_fn) NULL))
#endif //XNN_ENABLE_AVX512F && (XNN_ARCH_X86 || XNN_ARCH_X86_64)

#ifdef XNN_DEFINED_UKERNEL_WITH_PARAMS
#undef XNN_DEFINED_UKERNEL_WITH_PARAMS
#undef XNN_UKERNEL_WITH_PARAMS
#endif
#ifdef XNN_DEFINED_UKERNEL
#undef XNN_DEFINED_UKERNEL
#undef XNN_UKERNEL
#endif
Loading

0 comments on commit 60ea4c8

Please sign in to comment.