mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-24 15:59:03 +00:00
Fixes for kernel private memory size test (#1053)
* Add kernel private memory size to CMake build * Fix kernel private memory size build error * Use uint for kernel private memory size test Not all devices support 64-bit types. * Register kernel private memory size test
This commit is contained in:
@@ -10,6 +10,7 @@ set(${MODULE_NAME}_SOURCES
|
|||||||
test_queries_compatibility.cpp
|
test_queries_compatibility.cpp
|
||||||
test_create_kernels.cpp
|
test_create_kernels.cpp
|
||||||
test_kernels.cpp
|
test_kernels.cpp
|
||||||
|
test_kernel_private_memory_size.cpp
|
||||||
test_api_min_max.cpp
|
test_api_min_max.cpp
|
||||||
test_kernel_arg_changes.cpp
|
test_kernel_arg_changes.cpp
|
||||||
test_kernel_arg_multi_setup.cpp
|
test_kernel_arg_multi_setup.cpp
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ test_definition test_list[] = {
|
|||||||
ADD_TEST(get_kernel_arg_info_compatibility),
|
ADD_TEST(get_kernel_arg_info_compatibility),
|
||||||
ADD_TEST(create_kernels_in_program),
|
ADD_TEST(create_kernels_in_program),
|
||||||
ADD_TEST(get_kernel_info),
|
ADD_TEST(get_kernel_info),
|
||||||
|
ADD_TEST(kernel_private_memory_size),
|
||||||
ADD_TEST(execute_kernel_local_sizes),
|
ADD_TEST(execute_kernel_local_sizes),
|
||||||
ADD_TEST(set_kernel_arg_by_index),
|
ADD_TEST(set_kernel_arg_by_index),
|
||||||
ADD_TEST(set_kernel_arg_constant),
|
ADD_TEST(set_kernel_arg_constant),
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ extern int test_release_kernel_order(cl_device_id deviceID, cl_context co
|
|||||||
extern int test_release_during_execute(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
extern int test_release_during_execute(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||||
|
|
||||||
extern int test_get_kernel_info(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
extern int test_get_kernel_info(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||||
|
extern int test_kernel_private_memory_size(cl_device_id deviceID,
|
||||||
|
cl_context context,
|
||||||
|
cl_command_queue queue,
|
||||||
|
int num_elements);
|
||||||
extern int test_execute_kernel_local_sizes(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
extern int test_execute_kernel_local_sizes(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||||
extern int test_set_kernel_arg_by_index(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
extern int test_set_kernel_arg_by_index(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||||
extern int test_set_kernel_arg_struct(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
extern int test_set_kernel_arg_struct(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||||
|
|||||||
@@ -22,15 +22,15 @@ int test_kernel_private_memory_size(cl_device_id deviceID, cl_context context,
|
|||||||
cl_command_queue queue, int num_elements)
|
cl_command_queue queue, int num_elements)
|
||||||
{
|
{
|
||||||
const char* TEST_KERNEL =
|
const char* TEST_KERNEL =
|
||||||
R"(__kernel void private_memory( __global ulong *buffer ){
|
R"(__kernel void private_memory( __global uint *buffer ){
|
||||||
volatile __private ulong x[1];
|
volatile __private uint x[1];
|
||||||
buffer[0] = x[0];
|
buffer[0] = x[0];
|
||||||
})";
|
})";
|
||||||
|
|
||||||
clProgramWrapper program;
|
clProgramWrapper program;
|
||||||
clKernelWrapper kernel;
|
clKernelWrapper kernel;
|
||||||
cl_int err = create_single_kernel_helper(context, &program, &kernel, 1,
|
cl_int err = create_single_kernel_helper(context, &program, &kernel, 1,
|
||||||
&kernels[i], "private_memory");
|
&TEST_KERNEL, "private_memory");
|
||||||
test_error(err, "create_single_kernel_helper");
|
test_error(err, "create_single_kernel_helper");
|
||||||
cl_ulong size = CL_ULONG_MAX;
|
cl_ulong size = CL_ULONG_MAX;
|
||||||
err = clGetKernelWorkGroupInfo(kernel, deviceID, CL_KERNEL_PRIVATE_MEM_SIZE,
|
err = clGetKernelWorkGroupInfo(kernel, deviceID, CL_KERNEL_PRIVATE_MEM_SIZE,
|
||||||
|
|||||||
Reference in New Issue
Block a user