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:
James Price
2020-11-10 05:01:04 -05:00
committed by GitHub
parent 657456f7df
commit f22e3a31d0
4 changed files with 9 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ set(${MODULE_NAME}_SOURCES
test_queries_compatibility.cpp
test_create_kernels.cpp
test_kernels.cpp
test_kernel_private_memory_size.cpp
test_api_min_max.cpp
test_kernel_arg_changes.cpp
test_kernel_arg_multi_setup.cpp

View File

@@ -54,6 +54,7 @@ test_definition test_list[] = {
ADD_TEST(get_kernel_arg_info_compatibility),
ADD_TEST(create_kernels_in_program),
ADD_TEST(get_kernel_info),
ADD_TEST(kernel_private_memory_size),
ADD_TEST(execute_kernel_local_sizes),
ADD_TEST(set_kernel_arg_by_index),
ADD_TEST(set_kernel_arg_constant),

View File

@@ -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_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_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);

View File

@@ -22,15 +22,15 @@ int test_kernel_private_memory_size(cl_device_id deviceID, cl_context context,
cl_command_queue queue, int num_elements)
{
const char* TEST_KERNEL =
R"(__kernel void private_memory( __global ulong *buffer ){
volatile __private ulong x[1];
R"(__kernel void private_memory( __global uint *buffer ){
volatile __private uint x[1];
buffer[0] = x[0];
})";
clProgramWrapper program;
clKernelWrapper kernel;
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");
cl_ulong size = CL_ULONG_MAX;
err = clGetKernelWorkGroupInfo(kernel, deviceID, CL_KERNEL_PRIVATE_MEM_SIZE,