Skip to content

Commit 5e7f8fd

Browse files
committed
Temporary change to urKernelGetInfo and urUSMGetMemAllocInfo to assert unsupported - this will be further modified in currently ongoing PRs.
1 parent b7047f6 commit 5e7f8fd

File tree

4 files changed

+102
-81
lines changed

4 files changed

+102
-81
lines changed

source/adapters/opencl/usm.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,8 @@ urUSMGetMemAllocInfo(ur_context_handle_t hContext, const void *pMem,
668668
case UR_USM_ALLOC_INFO_DEVICE:
669669
PropNameCL = CL_MEM_ALLOC_DEVICE_INTEL;
670670
break;
671+
case UR_USM_ALLOC_INFO_POOL:
672+
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
671673
default:
672674
return UR_RESULT_ERROR_INVALID_VALUE;
673675
}

test/conformance/kernel/urKernelGetInfo.cpp

Lines changed: 47 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,48 +22,55 @@ TEST_P(urKernelGetInfoTest, Success) {
2222
auto property_name = getParam();
2323
size_t property_size = 0;
2424
std::vector<char> property_value;
25-
ASSERT_SUCCESS(
26-
urKernelGetInfo(kernel, property_name, 0, nullptr, &property_size));
25+
ur_result_t result =
26+
urKernelGetInfo(kernel, property_name, 0, nullptr, &property_size);
2727
property_value.resize(property_size);
28-
ASSERT_SUCCESS(urKernelGetInfo(kernel, property_name, property_size,
29-
property_value.data(), nullptr));
30-
switch (property_name) {
31-
case UR_KERNEL_INFO_CONTEXT: {
32-
auto returned_context =
33-
reinterpret_cast<ur_context_handle_t *>(property_value.data());
34-
ASSERT_EQ(context, *returned_context);
35-
break;
36-
}
37-
case UR_KERNEL_INFO_PROGRAM: {
38-
auto returned_program =
39-
reinterpret_cast<ur_program_handle_t *>(property_value.data());
40-
ASSERT_EQ(program, *returned_program);
41-
break;
42-
}
43-
case UR_KERNEL_INFO_REFERENCE_COUNT: {
44-
auto returned_reference_count =
45-
reinterpret_cast<uint32_t *>(property_value.data());
46-
ASSERT_GT(*returned_reference_count, 0U);
47-
break;
48-
}
49-
case UR_KERNEL_INFO_ATTRIBUTES: {
50-
auto returned_attributes = std::string(property_value.data());
51-
ur_platform_backend_t backend;
52-
ASSERT_SUCCESS(urPlatformGetInfo(platform, UR_PLATFORM_INFO_BACKEND,
53-
sizeof(backend), &backend, nullptr));
54-
if (backend == UR_PLATFORM_BACKEND_OPENCL ||
55-
backend == UR_PLATFORM_BACKEND_LEVEL_ZERO) {
56-
// Older intel drivers don't attach any default attributes and newer ones force walk order to X/Y/Z using special attribute.
57-
ASSERT_TRUE(returned_attributes.empty() ||
58-
returned_attributes ==
59-
"intel_reqd_workgroup_walk_order(0,1,2)");
60-
} else {
61-
ASSERT_TRUE(returned_attributes.empty());
28+
29+
if (result == UR_RESULT_SUCCESS) {
30+
ASSERT_SUCCESS(urKernelGetInfo(kernel, property_name, property_size,
31+
property_value.data(), nullptr));
32+
33+
switch (property_name) {
34+
case UR_KERNEL_INFO_CONTEXT: {
35+
auto returned_context =
36+
reinterpret_cast<ur_context_handle_t *>(property_value.data());
37+
ASSERT_EQ(context, *returned_context);
38+
break;
6239
}
63-
break;
64-
}
65-
default:
66-
break;
40+
case UR_KERNEL_INFO_PROGRAM: {
41+
auto returned_program =
42+
reinterpret_cast<ur_program_handle_t *>(property_value.data());
43+
ASSERT_EQ(program, *returned_program);
44+
break;
45+
}
46+
case UR_KERNEL_INFO_REFERENCE_COUNT: {
47+
auto returned_reference_count =
48+
reinterpret_cast<uint32_t *>(property_value.data());
49+
ASSERT_GT(*returned_reference_count, 0U);
50+
break;
51+
}
52+
case UR_KERNEL_INFO_ATTRIBUTES: {
53+
auto returned_attributes = std::string(property_value.data());
54+
ur_platform_backend_t backend;
55+
ASSERT_SUCCESS(urPlatformGetInfo(platform, UR_PLATFORM_INFO_BACKEND,
56+
sizeof(backend), &backend,
57+
nullptr));
58+
if (backend == UR_PLATFORM_BACKEND_OPENCL ||
59+
backend == UR_PLATFORM_BACKEND_LEVEL_ZERO) {
60+
// Older intel drivers don't attach any default attributes and newer ones force walk order to X/Y/Z using special attribute.
61+
ASSERT_TRUE(returned_attributes.empty() ||
62+
returned_attributes ==
63+
"intel_reqd_workgroup_walk_order(0,1,2)");
64+
} else {
65+
ASSERT_TRUE(returned_attributes.empty());
66+
}
67+
break;
68+
}
69+
default:
70+
break;
71+
}
72+
} else {
73+
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(result);
6774
}
6875
}
6976

test/conformance/testing/include/uur/fixtures.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,6 +1098,12 @@ struct urUSMDeviceAllocTestWithParam : urQueueTestWithParam<T> {
10981098
GTEST_SKIP() << "Device USM in not supported";
10991099
}
11001100
if (use_pool) {
1101+
ur_bool_t poolSupport = false;
1102+
ASSERT_SUCCESS(
1103+
uur::GetDeviceUSMPoolSupport(this->device, poolSupport));
1104+
if (!poolSupport) {
1105+
GTEST_SKIP() << "USM pools are not supported.";
1106+
}
11011107
ur_usm_pool_desc_t pool_desc = {};
11021108
ASSERT_SUCCESS(urUSMPoolCreate(this->context, &pool_desc, &pool));
11031109
}

test/conformance/usm/urUSMGetMemAllocInfo.cpp

Lines changed: 47 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -33,49 +33,55 @@ static std::unordered_map<ur_usm_alloc_info_t, size_t> usm_info_size_map = {
3333
TEST_P(urUSMGetMemAllocInfoTest, Success) {
3434
size_t size = 0;
3535
auto alloc_info = getParam();
36-
ASSERT_SUCCESS(
37-
urUSMGetMemAllocInfo(context, ptr, alloc_info, 0, nullptr, &size));
38-
ASSERT_NE(size, 0);
36+
ur_result_t result =
37+
urUSMGetMemAllocInfo(context, ptr, alloc_info, 0, nullptr, &size);
3938

40-
if (const auto expected_size = usm_info_size_map.find(alloc_info);
41-
expected_size != usm_info_size_map.end()) {
42-
ASSERT_EQ(expected_size->second, size);
43-
}
39+
if (result == UR_RESULT_SUCCESS) {
4440

45-
std::vector<uint8_t> info_data(size);
46-
ASSERT_SUCCESS(urUSMGetMemAllocInfo(context, ptr, alloc_info, size,
47-
info_data.data(), nullptr));
48-
switch (alloc_info) {
49-
case UR_USM_ALLOC_INFO_DEVICE: {
50-
auto returned_device =
51-
reinterpret_cast<ur_device_handle_t *>(info_data.data());
52-
ASSERT_EQ(*returned_device, device);
53-
break;
54-
}
55-
case UR_USM_ALLOC_INFO_SIZE: {
56-
auto returned_size = reinterpret_cast<size_t *>(info_data.data());
57-
ASSERT_GE(*returned_size, allocation_size);
58-
break;
59-
}
60-
case UR_USM_ALLOC_INFO_BASE_PTR: {
61-
auto returned_ptr = reinterpret_cast<void **>(info_data.data());
62-
ASSERT_EQ(*returned_ptr, ptr);
63-
break;
64-
}
65-
case UR_USM_ALLOC_INFO_POOL: {
66-
auto returned_pool =
67-
reinterpret_cast<ur_usm_pool_handle_t *>(info_data.data());
68-
ASSERT_EQ(*returned_pool, pool);
69-
break;
70-
}
71-
case UR_USM_ALLOC_INFO_TYPE: {
72-
auto returned_type =
73-
reinterpret_cast<ur_usm_type_t *>(info_data.data());
74-
ASSERT_EQ(*returned_type, UR_USM_TYPE_DEVICE);
75-
break;
76-
}
77-
default:
78-
break;
41+
ASSERT_NE(size, 0);
42+
43+
if (const auto expected_size = usm_info_size_map.find(alloc_info);
44+
expected_size != usm_info_size_map.end()) {
45+
ASSERT_EQ(expected_size->second, size);
46+
}
47+
48+
std::vector<uint8_t> info_data(size);
49+
ASSERT_SUCCESS(urUSMGetMemAllocInfo(context, ptr, alloc_info, size,
50+
info_data.data(), nullptr));
51+
switch (alloc_info) {
52+
case UR_USM_ALLOC_INFO_DEVICE: {
53+
auto returned_device =
54+
reinterpret_cast<ur_device_handle_t *>(info_data.data());
55+
ASSERT_EQ(*returned_device, device);
56+
break;
57+
}
58+
case UR_USM_ALLOC_INFO_SIZE: {
59+
auto returned_size = reinterpret_cast<size_t *>(info_data.data());
60+
ASSERT_GE(*returned_size, allocation_size);
61+
break;
62+
}
63+
case UR_USM_ALLOC_INFO_BASE_PTR: {
64+
auto returned_ptr = reinterpret_cast<void **>(info_data.data());
65+
ASSERT_EQ(*returned_ptr, ptr);
66+
break;
67+
}
68+
case UR_USM_ALLOC_INFO_POOL: {
69+
auto returned_pool =
70+
reinterpret_cast<ur_usm_pool_handle_t *>(info_data.data());
71+
ASSERT_EQ(*returned_pool, pool);
72+
break;
73+
}
74+
case UR_USM_ALLOC_INFO_TYPE: {
75+
auto returned_type =
76+
reinterpret_cast<ur_usm_type_t *>(info_data.data());
77+
ASSERT_EQ(*returned_type, UR_USM_TYPE_DEVICE);
78+
break;
79+
}
80+
default:
81+
break;
82+
}
83+
} else {
84+
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(result);
7985
}
8086
}
8187

0 commit comments

Comments
 (0)