From bb331c2c9249e27a3e7bc8b7033acd517267a2e7 Mon Sep 17 00:00:00 2001 From: Ahmed Hesham <117350656+ahesham-arm@users.noreply.github.com> Date: Tue, 11 Mar 2025 21:54:22 +0000 Subject: [PATCH] Migrate device_execution suite to the new test registration framework (#2323) Contributes to #2181. Signed-off-by: Ahmed Hesham --- .../device_execution/device_info.cpp | 3 +- .../device_execution/device_queue.cpp | 4 +-- .../device_execution/enqueue_block.cpp | 4 +-- .../device_execution/enqueue_flags.cpp | 4 +-- .../device_execution/enqueue_multi_queue.cpp | 4 +-- .../device_execution/enqueue_ndrange.cpp | 3 +- .../device_execution/enqueue_profiling.cpp | 4 +-- .../device_execution/enqueue_wg_size.cpp | 3 +- .../device_execution/execute_block.cpp | 3 +- .../device_execution/host_multi_queue.cpp | 5 +-- .../device_execution/host_queue_order.cpp | 3 +- test_conformance/device_execution/main.cpp | 16 ++------- .../device_execution/nested_blocks.cpp | 3 +- test_conformance/device_execution/procs.h | 34 ------------------- 14 files changed, 15 insertions(+), 78 deletions(-) delete mode 100644 test_conformance/device_execution/procs.h diff --git a/test_conformance/device_execution/device_info.cpp b/test_conformance/device_execution/device_info.cpp index f7e75cfd..1c3af369 100644 --- a/test_conformance/device_execution/device_info.cpp +++ b/test_conformance/device_execution/device_info.cpp @@ -20,7 +20,6 @@ #include "harness/testHarness.h" #include "harness/typeWrappers.h" -#include "procs.h" #include "utils.h" static const cl_uint MIN_DEVICE_PREFFERED_QUEUE_SIZE = 16 * 1024; @@ -29,7 +28,7 @@ static const cl_uint MAX_DEVICE_EMBEDDED_QUEUE_SIZE = 64 * 1024; #ifdef CL_VERSION_2_0 -int test_device_info(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(device_info) { cl_int err_ret; int embedded = 0; diff --git a/test_conformance/device_execution/device_queue.cpp b/test_conformance/device_execution/device_queue.cpp index 9e28cedd..8f48fa8e 100644 --- a/test_conformance/device_execution/device_queue.cpp +++ b/test_conformance/device_execution/device_queue.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" static int check_device_queue(cl_device_id device, cl_context context, cl_command_queue queue, cl_uint size) @@ -97,7 +96,7 @@ static int check_device_queues(cl_device_id device, cl_context context, cl_uint return res; } -int test_device_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(device_queue) { cl_int err_ret, res = 0; size_t ret_len; @@ -187,4 +186,3 @@ int test_device_queue(cl_device_id device, cl_context context, cl_command_queue return res; } - diff --git a/test_conformance/device_execution/enqueue_block.cpp b/test_conformance/device_execution/enqueue_block.cpp index 46407b19..c3761d08 100644 --- a/test_conformance/device_execution/enqueue_block.cpp +++ b/test_conformance/device_execution/enqueue_block.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -595,7 +594,7 @@ static int check_kernel_results(cl_int* results, cl_int len) return -1; } -int test_enqueue_block(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_block) { cl_uint i; cl_int n, err_ret, res = 0; @@ -660,7 +659,6 @@ int test_enqueue_block(cl_device_id device, cl_context context, cl_command_queue } - #endif diff --git a/test_conformance/device_execution/enqueue_flags.cpp b/test_conformance/device_execution/enqueue_flags.cpp index 44902d7f..d880fadd 100644 --- a/test_conformance/device_execution/enqueue_flags.cpp +++ b/test_conformance/device_execution/enqueue_flags.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -671,7 +670,7 @@ static const kernel_src sources_enqueue_block_flags[] = static const size_t num_enqueue_block_flags = arr_size(sources_enqueue_block_flags); -int test_enqueue_flags(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_flags) { cl_uint i; cl_int err_ret, res = 0; @@ -759,5 +758,4 @@ int test_enqueue_flags(cl_device_id device, cl_context context, cl_command_queue } - #endif diff --git a/test_conformance/device_execution/enqueue_multi_queue.cpp b/test_conformance/device_execution/enqueue_multi_queue.cpp index f934e050..90dbf2fd 100644 --- a/test_conformance/device_execution/enqueue_multi_queue.cpp +++ b/test_conformance/device_execution/enqueue_multi_queue.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -95,7 +94,7 @@ static int check_kernel_results(cl_int* results, cl_int len) return -1; } -int test_enqueue_multi_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_multi_queue) { cl_uint i; cl_int k, err_ret, res = 0; @@ -196,7 +195,6 @@ int test_enqueue_multi_queue(cl_device_id device, cl_context context, cl_command } - #endif diff --git a/test_conformance/device_execution/enqueue_ndrange.cpp b/test_conformance/device_execution/enqueue_ndrange.cpp index bc28b5ef..ffadc0ac 100644 --- a/test_conformance/device_execution/enqueue_ndrange.cpp +++ b/test_conformance/device_execution/enqueue_ndrange.cpp @@ -21,7 +21,6 @@ #include #include -#include "procs.h" #include "utils.h" #include @@ -609,7 +608,7 @@ static int check_kernel_results(cl_int* results, cl_int len, std::vector -#include "procs.h" #include "utils.h" #include @@ -43,8 +42,7 @@ static const char* enqueue_multi_level = R"( block_fn(res, level); })"; -int test_enqueue_profiling(cl_device_id device, cl_context context, - cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_profiling) { cl_int err_ret, res = 0; clCommandQueueWrapper dev_queue; diff --git a/test_conformance/device_execution/enqueue_wg_size.cpp b/test_conformance/device_execution/enqueue_wg_size.cpp index 3da2d0a8..f662edb9 100644 --- a/test_conformance/device_execution/enqueue_wg_size.cpp +++ b/test_conformance/device_execution/enqueue_wg_size.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -1637,7 +1636,7 @@ static const kernel_src_check sources_enqueue_wg_size[] = { KERNEL(enqueue_mix_wg_size_all_diff), check_all_diff_mix } }; -int test_enqueue_wg_size(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_wg_size) { MTdata d; cl_uint i, k; diff --git a/test_conformance/device_execution/execute_block.cpp b/test_conformance/device_execution/execute_block.cpp index bd876113..39a4873e 100644 --- a/test_conformance/device_execution/execute_block.cpp +++ b/test_conformance/device_execution/execute_block.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -1010,7 +1009,7 @@ static int check_kernel_results(cl_int* results, cl_int len) return -1; } -int test_execute_block(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(execute_block) { size_t i; size_t ret_len; diff --git a/test_conformance/device_execution/host_multi_queue.cpp b/test_conformance/device_execution/host_multi_queue.cpp index 6d71fa17..cca83454 100644 --- a/test_conformance/device_execution/host_multi_queue.cpp +++ b/test_conformance/device_execution/host_multi_queue.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -129,7 +128,7 @@ static const kernel_src sources_multi_queue_block[] = static const size_t num_kernels_multi_queue_block = arr_size(sources_multi_queue_block); -int test_host_multi_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(host_multi_queue) { cl_uint i; cl_int err_ret, res = 0; @@ -228,7 +227,5 @@ int test_host_multi_queue(cl_device_id device, cl_context context, cl_command_qu } - - #endif diff --git a/test_conformance/device_execution/host_queue_order.cpp b/test_conformance/device_execution/host_queue_order.cpp index b4858570..bafbce08 100644 --- a/test_conformance/device_execution/host_queue_order.cpp +++ b/test_conformance/device_execution/host_queue_order.cpp @@ -21,7 +21,6 @@ #include #include -#include "procs.h" #include "utils.h" #include @@ -90,7 +89,7 @@ static int check_kernel_results(cl_int* results, cl_int len) /* Test checks kernel block execution order in case of two different kernels with enqueue block submitted to one ordered host queue. */ -int test_host_queue_order(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(host_queue_order) { cl_int k, err_ret, res = 0; clCommandQueueWrapper dev_queue; diff --git a/test_conformance/device_execution/main.cpp b/test_conformance/device_execution/main.cpp index a3d0d8d0..efb311f9 100644 --- a/test_conformance/device_execution/main.cpp +++ b/test_conformance/device_execution/main.cpp @@ -23,7 +23,6 @@ #include "harness/testHarness.h" #include "harness/parseParameters.h" #include "utils.h" -#include "procs.h" std::string gKernelName; int gWimpyMode = 0; @@ -57,17 +56,6 @@ test_status InitCL(cl_device_id device) { return TEST_PASS; } -test_definition test_list[] = { - ADD_TEST(device_info), ADD_TEST(device_queue), - ADD_TEST(execute_block), ADD_TEST(enqueue_block), - ADD_TEST(enqueue_nested_blocks), ADD_TEST(enqueue_wg_size), - ADD_TEST(enqueue_flags), ADD_TEST(enqueue_multi_queue), - ADD_TEST(host_multi_queue), ADD_TEST(enqueue_ndrange), - ADD_TEST(host_queue_order), ADD_TEST(enqueue_profiling), -}; - -const int test_num = ARRAY_SIZE( test_list ); - int main(int argc, const char *argv[]) { argc = parseCustomParam(argc, argv); @@ -98,5 +86,7 @@ int main(int argc, const char *argv[]) } } - return runTestHarnessWithCheck(argc, argv, test_num, test_list, false, 0, InitCL); + return runTestHarnessWithCheck( + argc, argv, test_registry::getInstance().num_tests(), + test_registry::getInstance().definitions(), false, 0, InitCL); } diff --git a/test_conformance/device_execution/nested_blocks.cpp b/test_conformance/device_execution/nested_blocks.cpp index 3f41bee7..a191bdf5 100644 --- a/test_conformance/device_execution/nested_blocks.cpp +++ b/test_conformance/device_execution/nested_blocks.cpp @@ -20,7 +20,6 @@ #include -#include "procs.h" #include "utils.h" #include @@ -303,7 +302,7 @@ static const kernel_src_check sources_nested_blocks[] = { KERNEL(enqueue_nested_blocks_all_diff), check_all_diff } }; -int test_enqueue_nested_blocks(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) +REGISTER_TEST(enqueue_nested_blocks) { cl_uint i, k; cl_int err_ret, res = 0; diff --git a/test_conformance/device_execution/procs.h b/test_conformance/device_execution/procs.h deleted file mode 100644 index 087dafc1..00000000 --- a/test_conformance/device_execution/procs.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// Copyright (c) 2017 The Khronos Group Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#include "harness/testHarness.h" - -extern int test_device_info(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_device_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_execute_block(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_block(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_nested_blocks(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_wg_size(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_flags(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_multi_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_host_multi_queue(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_ndrange(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_host_queue_order(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); -extern int test_enqueue_profiling(cl_device_id device, cl_context context, - cl_command_queue queue, int num_elements); - -extern int test_execution_stress(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements); - -