24 #ifndef ACL_SRC_CPU_OPERATORS_CPUGEMMLOWPMATRIXMULTIPLYCORE_H
25 #define ACL_SRC_CPU_OPERATORS_CPUGEMMLOWPMATRIXMULTIPLYCORE_H
41 class CpuGemmInterleave4x4Kernel;
42 class CpuGemmLowpMatrixMultiplyKernel;
43 class CpuGemmLowpOffsetContributionKernel;
44 class CpuGemmLowpOffsetContributionOutputStageKernel;
45 class CpuGemmLowpMatrixAReductionKernel;
46 class CpuGemmLowpMatrixBReductionKernel;
47 class CpuGemmTranspose1xWKernel;
48 class CpuConvertQuantizedSignednessKernel;
50 class CpuGemmAssemblyDispatch;
148 std::unique_ptr<CpuGemmAssemblyDispatch> _asm_glue;
149 std::unique_ptr<kernels::CpuGemmLowpMatrixMultiplyKernel> _mm_kernel;
150 std::unique_ptr<kernels::CpuGemmInterleave4x4Kernel> _mtx_a_reshape_kernel;
151 std::unique_ptr<kernels::CpuGemmTranspose1xWKernel> _mtx_b_reshape_kernel;
152 std::unique_ptr<kernels::CpuGemmLowpMatrixAReductionKernel> _mtx_a_reduction_kernel;
153 std::unique_ptr<kernels::CpuGemmLowpMatrixBReductionKernel> _mtx_b_reduction_kernel;
154 std::unique_ptr<kernels::CpuGemmLowpOffsetContributionKernel> _offset_contribution_kernel;
155 std::unique_ptr<kernels::CpuGemmLowpOffsetContributionOutputStageKernel> _offset_contribution_output_stage_kernel;
156 std::unique_ptr<CpuActivation> _activation_func;
157 std::unique_ptr<kernels::CpuConvertQuantizedSignednessKernel> _convert_to_signed_asymm;
158 std::unique_ptr<kernels::CpuConvertQuantizedSignednessKernel> _convert_from_signed_asymm;
170 bool _run_vector_matrix_multiplication;
172 bool _fused_assembly_path;
173 bool _reshape_b_only_on_first_run;
175 bool _fuse_output_stage;
176 bool _run_activation;
177 bool _flip_signedness;
183 #endif // ACL_SRC_CPU_OPERATORS_CPUGEMMLOWPMATRIXMULTIPLYCORE_H