COST 15.0
LABELS "EinsteinToolkit"
ENVIRONMENT "POCL_AFFINITY=1"
+ SKIP_RETURN_CODE 77
DEPENDS "pocl_version_check")
endif()
if (use_subdev)
{
+ {
+ cl_uint max_cus;
+ int err = clGetDeviceInfo (main_device_id, CL_DEVICE_MAX_COMPUTE_UNITS,
+ sizeof (max_cus), &max_cus, NULL);
+ assert (err == CL_SUCCESS);
+ if (max_cus < 2)
+ {
+ fprintf (stderr,
+ "Insufficient compute units for subdevice creation\n");
+ exit (77);
+ }
+ }
const cl_device_partition_property props[]
= { CL_DEVICE_PARTITION_EQUALLY, 2, 0 };
cl_device_id subdevs[128];
add_test_pocl(NAME "runtime/clCreateKernelsInProgram" COMMAND "test_clCreateKernelsInProgram")
-add_test_pocl(NAME "runtime/clCreateSubDevices" COMMAND "test_clCreateSubDevices")
+add_test(NAME "runtime/clCreateSubDevices" COMMAND "test_clCreateSubDevices")
add_test_pocl(NAME "runtime/test_event_free" COMMAND "test_event_free")
LABELS "internal;runtime")
set_tests_properties(
+ "runtime/clCreateSubDevices"
"runtime/test_buffer_migration"
"runtime/test_buffer_ping_pong"
"runtime/test_cl_pocl_content_size"
{
printf("This test requires a cl device with at least 2 compute units"
" (a dual-core or better CPU)\n");
- return 1;
+ return 77;
}
err = clGetDeviceInfo(rootdev, CL_DEVICE_PARTITION_MAX_SUB_DEVICES,