aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CL/gemm_auto_heuristics/CLGEMMAutoHeuristics.h
AgeCommit message (Collapse)Author
2021-02-11Validate mlgo gemm type selection and fall back to default heuristicsSiCong Li
GEMM kernel type returned by mlgo heuristics in each of the CLGEMM and CLGEMMLowpMatrixMultiplyCore could also be invalid. Fix this by falling back to default heuristics, similar to how we deal with gemm configs for now. Resolves COMPMID-3847 Change-Id: Iae7c1dcd7def04969ad13a4c132873fda8c8a571 Signed-off-by: SiCong Li <sicong.li@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5044 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2021-02-10Integrate MLGO into CLGEMMLowpMatrixMultiplyCore for native kernelSiCong Li
Resolves COMPMID-3846 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: Iad66f6dd7fa5b13ebace9f95fbc2fc4d677cf6a9 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5032 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
2021-02-09Integrate MLGO into CLGEMM for reshaped kernelSiCong Li
Resolves COMPMID-3845 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: I878ea6dc076177095816a75f9bc951326fd095b3 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5031 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2021-02-09Integrate MLGO into CLGEMM and CLGEMMLowpMatrixMultiplyCore: Part3SiCong Li
* Implement a common interface across both functions and across mlgo and default heuristics. This interface is implemented as: * A set of adaptor functions in new cl_gemm::auto_heuristics namespace as: * select_default_*: For selecting configs using default heuristics * select_mlgo_*: For selecting configs using mlgo heuristics These adaptor functions have the same interface * On top of these adaptor functions, a set of auto_select_* functions that automatically selects between mlgo and default (prioritize mlgo). Note that auto_select_gemm_config_* are implemented in each individual function. This is because the auto selection depends on the validation of its hosting functions. When we are able to decouple and abstract the validation logics, it's possible to share the core auto_gemm_config_* in cl_gemm::auto_heuristics namespace as well. * Apply this interface in CLGEMM for the selection of gemm config reshaped only rhs and gemm kernel type Resolves: COMPMID-3843, COMPMID-3844 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: Idf7fb46837a027449aae1e251346b2701866309a Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4991 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>