diff options
Diffstat (limited to 'arm_compute/runtime/CL/CLTypes.h')
-rw-r--r-- | arm_compute/runtime/CL/CLTypes.h | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/arm_compute/runtime/CL/CLTypes.h b/arm_compute/runtime/CL/CLTypes.h index 48697af35f..931740c47f 100644 --- a/arm_compute/runtime/CL/CLTypes.h +++ b/arm_compute/runtime/CL/CLTypes.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 ARM Limited. + * Copyright (c) 2020-2022 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -23,38 +23,39 @@ */ #ifndef ARM_COMPUTE_RUNTIME_CLTYPES_H #define ARM_COMPUTE_RUNTIME_CLTYPES_H +#include "arm_compute/core/Types.h" namespace arm_compute { /** OpenCL GEMM kernel types */ enum class CLGEMMKernelType { - /** Native GEMM kernel with fixed block size. - * @note Temporary variant to keep compatibility with the old implementation. - * @note This variant will be deprecated in favor of a new and configurable NATIVE variant - */ - NATIVE_V1, /** Native GEMM kernel with configurable block size.*/ NATIVE, - /** Reshaped GEMM kernel where both lhs and rhs matrices are reshaped. Fixed block size fixed. - * @note Temporary variant to keep compatibility with the old implementation. - * @note This variant will be deprecated in favor of RESHAPED - */ - RESHAPED_V1, /** Reshaped GEMM kernel where both lhs and rhs matrices are reshaped. Configurable reshape and block size */ RESHAPED, /** Reshaped GEMM kernel where only the rhs matrix is reshaped. Configurable reshape and block size */ - RESHAPED_ONLY_RHS + RESHAPED_ONLY_RHS, + /** Reshaped GEMM kernel where only the rhs matrix is reshaped. Using MMUL with configurable block size. */ + RESHAPED_ONLY_RHS_MMUL }; /** OpenCL GEMM kernel selection parameters. These information are retrieved to select the GEMM kernel on OpenCL */ struct CLGEMMKernelSelectionParams { - unsigned int m{ 0 }; /**< Number of rows for the lhs matrix. Lhs matrix NOT transposed */ - unsigned int n{ 0 }; /**< Number of columns for the rhs matrix. Rhs matrix NOT transposed */ - unsigned int k{ 0 }; /**< Number of rows for the rhs matrix. Rhs matrix NOT transposed */ - bool is_rhs_constant{ false }; /**< True if the content of the rhs matrix is constant */ - DataType data_type{ DataType::UNKNOWN }; /**< Data type */ + unsigned int m{0}; /**< Number of rows for the lhs matrix. Lhs matrix NOT transposed */ + unsigned int n{0}; /**< Number of columns for the rhs matrix. Rhs matrix NOT transposed */ + unsigned int k{0}; /**< Number of rows for the rhs matrix. Rhs matrix NOT transposed */ + unsigned int b{0}; /**< Batch size */ + bool is_rhs_constant{false}; /**< True if the content of the rhs matrix is constant */ + DataType data_type{DataType::UNKNOWN}; /**< Data type */ +}; + +/** List the possible OpenCL backends */ +enum class CLBackendType +{ + Native, /**< OpenCL native backend */ + Clvk, /**< CLVK backend */ }; } // namespace arm_compute #endif /* ARM_COMPUTE_RUNTIME_CLTYPES_H */ |