diff options
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp')
-rw-r--r-- | src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp index 26255b14bf..c67aed7275 100644 --- a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp +++ b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8.hpp @@ -27,41 +27,38 @@ #include "arm_gemm.hpp" -namespace arm_gemm -{ +namespace arm_gemm { + // Load the actual kernel void a64_gemm_u8_12x8(const uint8_t *, const uint8_t *, uint32_t *, int, int, int); void a64_gemm_u8_12x8_a55r1(const uint8_t *, const uint8_t *, uint32_t *, int, int, int); -class gemm_u8_12x8 -{ +class gemm_u8_12x8 { public: - typedef uint8_t operand_type; + typedef uint8_t operand_type; typedef uint32_t result_type; typedef void (*kern_type)(const uint8_t *, const uint8_t *, uint32_t *, int, int, int); /* Describes the data layout for A input */ - static const int A_interleave = 8; - static const int A_block = 4; - static const bool A_transpose = false; + static const int A_interleave = 8; + static const int A_block = 4; + static const bool A_transpose = false; /* Same for B input */ - static const int B_interleave = 12; - static const int B_block = 4; - static const bool B_transpose = true; + static const int B_interleave = 12; + static const int B_block = 4; + static const bool B_transpose = true; /* Kernel blocking parameters */ - static const int out_width = 12; + static const int out_width = 12; static const int out_height = 8; - static const int k_unroll = 4; + static const int k_unroll = 4; kern_type kernel = a64_gemm_u8_12x8; - gemm_u8_12x8(const CPUInfo *ci) - { - if(ci->get_cpu_model() == CPUModel::A55r1) - { + gemm_u8_12x8(const CPUInfo *ci) { + if (ci->get_cpu_model() == CPUModel::A55r1) { kernel = a64_gemm_u8_12x8_a55r1; } } |