From 61a220ff332e838088be1fc9cf1d124d37c05920 Mon Sep 17 00:00:00 2001 From: David Tobolik <124600480+dtobolik@users.noreply.github.com> Date: Tue, 16 Apr 2024 17:49:24 +0200 Subject: [PATCH] fix: move suggested_local_size to test_api (#1916) --- test_conformance/api/CMakeLists.txt | 1 + test_conformance/api/main.cpp | 4 + test_conformance/api/procs.h | 15 +++- .../test_wg_suggested_local_work_size.cpp | 2 +- test_conformance/workgroups/CMakeLists.txt | 1 - test_conformance/workgroups/main.cpp | 3 - test_conformance/workgroups/procs.h | 78 ++++++++++++------- 7 files changed, 70 insertions(+), 34 deletions(-) rename test_conformance/{workgroups => api}/test_wg_suggested_local_work_size.cpp (99%) diff --git a/test_conformance/api/CMakeLists.txt b/test_conformance/api/CMakeLists.txt index d3e6c6a7..5b1f491c 100644 --- a/test_conformance/api/CMakeLists.txt +++ b/test_conformance/api/CMakeLists.txt @@ -35,6 +35,7 @@ set(${MODULE_NAME}_SOURCES test_mem_object_properties_queries.cpp test_queue_properties_queries.cpp test_pipe_properties_queries.cpp + test_wg_suggested_local_work_size.cpp ) include(../CMakeCommon.txt) diff --git a/test_conformance/api/main.cpp b/test_conformance/api/main.cpp index fa76a406..e0900df0 100644 --- a/test_conformance/api/main.cpp +++ b/test_conformance/api/main.cpp @@ -148,6 +148,10 @@ test_definition test_list[] = { ADD_TEST(min_image_formats), ADD_TEST(negative_get_platform_info), ADD_TEST(negative_get_platform_ids), + + ADD_TEST(work_group_suggested_local_size_1D), + ADD_TEST(work_group_suggested_local_size_2D), + ADD_TEST(work_group_suggested_local_size_3D), }; const int test_num = ARRAY_SIZE(test_list); diff --git a/test_conformance/api/procs.h b/test_conformance/api/procs.h index 1bcb3116..320ad65a 100644 --- a/test_conformance/api/procs.h +++ b/test_conformance/api/procs.h @@ -1,6 +1,6 @@ // // 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 @@ -204,3 +204,16 @@ extern int test_negative_get_platform_ids(cl_device_id deviceID, int num_elements); extern int test_kernel_attributes(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); + +extern int test_work_group_suggested_local_size_1D(cl_device_id device, + cl_context context, + cl_command_queue queue, + int n_elems); +extern int test_work_group_suggested_local_size_2D(cl_device_id device, + cl_context context, + cl_command_queue queue, + int n_elems); +extern int test_work_group_suggested_local_size_3D(cl_device_id device, + cl_context context, + cl_command_queue queue, + int n_elems); diff --git a/test_conformance/workgroups/test_wg_suggested_local_work_size.cpp b/test_conformance/api/test_wg_suggested_local_work_size.cpp similarity index 99% rename from test_conformance/workgroups/test_wg_suggested_local_work_size.cpp rename to test_conformance/api/test_wg_suggested_local_work_size.cpp index a31fca63..2b2a5404 100644 --- a/test_conformance/workgroups/test_wg_suggested_local_work_size.cpp +++ b/test_conformance/api/test_wg_suggested_local_work_size.cpp @@ -72,7 +72,7 @@ const char* wg_scan_local_work_group_size = R"( global uint *output) { __local char c[LOCAL_MEM_SIZE]; - + if(!is_zero_linear_id()) return; for (uint i = 0; i < 3; i++) { diff --git a/test_conformance/workgroups/CMakeLists.txt b/test_conformance/workgroups/CMakeLists.txt index 0c004b32..f9f9bad1 100644 --- a/test_conformance/workgroups/CMakeLists.txt +++ b/test_conformance/workgroups/CMakeLists.txt @@ -6,7 +6,6 @@ set(${MODULE_NAME}_SOURCES test_wg_any.cpp test_wg_broadcast.cpp test_wg_scan_reduce.cpp - test_wg_suggested_local_work_size.cpp ) include(../CMakeCommon.txt) diff --git a/test_conformance/workgroups/main.cpp b/test_conformance/workgroups/main.cpp index abb1145b..11849e1f 100644 --- a/test_conformance/workgroups/main.cpp +++ b/test_conformance/workgroups/main.cpp @@ -38,9 +38,6 @@ test_definition test_list[] = { ADD_TEST_VERSION(work_group_broadcast_1D, Version(2, 0)), ADD_TEST_VERSION(work_group_broadcast_2D, Version(2, 0)), ADD_TEST_VERSION(work_group_broadcast_3D, Version(2, 0)), - ADD_TEST(work_group_suggested_local_size_1D), - ADD_TEST(work_group_suggested_local_size_2D), - ADD_TEST(work_group_suggested_local_size_3D) }; const int test_num = ARRAY_SIZE(test_list); diff --git a/test_conformance/workgroups/procs.h b/test_conformance/workgroups/procs.h index 6143d525..0baa9066 100644 --- a/test_conformance/workgroups/procs.h +++ b/test_conformance/workgroups/procs.h @@ -20,33 +20,55 @@ #include "harness/conversions.h" #include "harness/mt19937.h" -extern int create_program_and_kernel(const char *source, const char *kernel_name, cl_program *program_ret, cl_kernel *kernel_ret); +extern int create_program_and_kernel(const char *source, + const char *kernel_name, + cl_program *program_ret, + cl_kernel *kernel_ret); -extern int test_work_group_all(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_any(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_broadcast_1D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_broadcast_2D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_broadcast_3D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_reduce_add(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_reduce_min(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_reduce_max(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); +extern int test_work_group_all(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_work_group_any(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_work_group_broadcast_1D(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_broadcast_2D(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_broadcast_3D(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_reduce_add(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_work_group_reduce_min(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_work_group_reduce_max(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); -extern int test_work_group_scan_exclusive_add(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_scan_exclusive_min(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_scan_exclusive_max(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_scan_inclusive_add(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_scan_inclusive_min(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); -extern int test_work_group_scan_inclusive_max(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); - -extern int test_work_group_suggested_local_size_1D(cl_device_id device, - cl_context context, - cl_command_queue queue, - int n_elems); -extern int test_work_group_suggested_local_size_2D(cl_device_id device, - cl_context context, - cl_command_queue queue, - int n_elems); -extern int test_work_group_suggested_local_size_3D(cl_device_id device, - cl_context context, - cl_command_queue queue, - int n_elems); +extern int test_work_group_scan_exclusive_add(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_scan_exclusive_min(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_scan_exclusive_max(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_scan_inclusive_add(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_scan_inclusive_min(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_work_group_scan_inclusive_max(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements);