From 15205d9be0c997b900e4cef04ea359e3226d21c5 Mon Sep 17 00:00:00 2001 From: Eren Kopuz Date: Fri, 17 Jul 2020 15:13:39 +0100 Subject: COMPMID-3549: GEMM Tuner - Validate input parameters - Add validate function to kernel and exit if invalid parameters - Also relates to ticket COMPMID-3451 Change-Id: I49df7378a2fe27b8f08c45b373e13ef565a8b5d9 Signed-off-by: Eren Kopuz Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3592 Comments-Addressed: Arm Jenkins Reviewed-by: SiCong Li Tested-by: Arm Jenkins --- examples/gemm_tuner/cl_gemm_reshaped.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'examples/gemm_tuner/cl_gemm_reshaped.cpp') diff --git a/examples/gemm_tuner/cl_gemm_reshaped.cpp b/examples/gemm_tuner/cl_gemm_reshaped.cpp index 93125dd4a3..9c6568cffb 100644 --- a/examples/gemm_tuner/cl_gemm_reshaped.cpp +++ b/examples/gemm_tuner/cl_gemm_reshaped.cpp @@ -218,10 +218,10 @@ public: } // Print gemm parameters and configurations - std::cerr << "Gemm parameters:" << std::endl; - std::cerr << params << std::endl; - std::cerr << "Gemm configurations:" << std::endl; - std::cerr << configs << std::endl; + std::cout << "Gemm parameters:" << std::endl; + std::cout << params << std::endl; + std::cout << "Gemm configurations:" << std::endl; + std::cout << configs << std::endl; CLScheduler::get().default_init(&tuner); @@ -264,6 +264,26 @@ public: arm_compute::cl_gemm::update_padding_for_cl_image(rhs_reshaped.info()); } + // Validate argments + Status status{}; + status = reshape_lhs.validate((&lhs)->info(), (&lhs_reshaped)->info(), lhs_info, kernel_info.reinterpret_input_as_3d); + if(!status) + { + // Unsupported arguments + std::cerr << "Unsupported arguments." << std::endl; + std::cerr << "Check documentation for supported/unsupported combinations" << std::endl; + return false; + } + + status = gemm.validate((&lhs_reshaped)->info(), (&rhs_reshaped)->info(), (&bias)->info(), (&dst)->info(), alpha, beta, lhs_info, rhs_info, kernel_info); + if(!status) + { + // Unsupported arguments + std::cerr << "Unsupported arguments." << std::endl; + std::cerr << "Check documentation for supported/unsupported combinations" << std::endl; + return false; + } + // Configure reshape lhs function reshape_lhs.configure(&lhs, &lhs_reshaped, lhs_info); -- cgit v1.2.1