Skip to content

Commit 1c611ed

Browse files
committed
Add UR_KERNEL_INFO_SPILL_MEM_SIZE query implementation & test
1 parent 5f3597d commit 1c611ed

File tree

6 files changed

+26
-0
lines changed

6 files changed

+26
-0
lines changed

source/adapters/cuda/kernel.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urKernelGetInfo(ur_kernel_handle_t hKernel,
299299
hKernel->get()));
300300
return ReturnValue(static_cast<uint32_t>(NumRegs));
301301
}
302+
case UR_KERNEL_INFO_SPILL_MEM_SIZE:
302303
default:
303304
break;
304305
}

source/adapters/hip/kernel.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urKernelGetInfo(ur_kernel_handle_t hKernel,
234234
hKernel->get()));
235235
return ReturnValue(static_cast<uint32_t>(NumRegs));
236236
}
237+
case UR_KERNEL_INFO_SPILL_MEM_SIZE:
237238
default:
238239
break;
239240
}

source/adapters/level_zero/kernel.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,8 @@ ur_result_t urKernelGetInfo(
751751
case UR_KERNEL_INFO_NUM_REGS:
752752
case UR_KERNEL_INFO_NUM_ARGS:
753753
return ReturnValue(uint32_t{Kernel->ZeKernelProperties->numKernelArgs});
754+
case UR_KERNEL_INFO_SPILL_MEM_SIZE:
755+
return ReturnValue(uint32_t{Kernel->ZeKernelProperties->spillMemSize});
754756
case UR_KERNEL_INFO_REFERENCE_COUNT:
755757
return ReturnValue(uint32_t{Kernel->RefCount.load()});
756758
case UR_KERNEL_INFO_ATTRIBUTES:

source/adapters/level_zero/v2/kernel.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,8 @@ ur_result_t urKernelGetInfo(ur_kernel_handle_t hKernel,
624624
case UR_KERNEL_INFO_NUM_REGS:
625625
case UR_KERNEL_INFO_NUM_ARGS:
626626
return ReturnValue(uint32_t{hKernel->getCommonProperties().numKernelArgs});
627+
case UR_KERNEL_INFO_SPILL_MEM_SIZE:
628+
return ReturnValue(uint32_t{hKernel->getProperties().spillMemSize});
627629
case UR_KERNEL_INFO_REFERENCE_COUNT:
628630
return ReturnValue(uint32_t{hKernel->RefCount.load()});
629631
case UR_KERNEL_INFO_ATTRIBUTES: {

source/adapters/opencl/kernel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ static cl_int mapURKernelInfoToCL(ur_kernel_info_t URPropName) {
6464
return CL_KERNEL_ATTRIBUTES;
6565
// NUM_REGS doesn't have a CL equivalent
6666
case UR_KERNEL_INFO_NUM_REGS:
67+
case UR_KERNEL_INFO_SPILL_MEM_SIZE:
6768
default:
6869
return -1;
6970
}
@@ -78,6 +79,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urKernelGetInfo(ur_kernel_handle_t hKernel,
7879
if (propName == UR_KERNEL_INFO_NUM_REGS) {
7980
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
8081
}
82+
if (propName == UR_KERNEL_INFO_SPILL_MEM_SIZE) {
83+
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
84+
}
8185
size_t CheckPropSize = 0;
8286
cl_int ClResult = clGetKernelInfo(cl_adapter::cast<cl_kernel>(hKernel),
8387
mapURKernelInfoToCL(propName), propSize,

test/conformance/kernel/urKernelGetInfo.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,22 @@ TEST_P(urKernelGetInfoTest, SuccessNumRegs) {
136136
property_value.data(), nullptr));
137137
}
138138

139+
TEST_P(urKernelGetInfoTest, SuccessSpillMemSize) {
140+
UUR_KNOWN_FAILURE_ON(uur::HIP{}, uur::OpenCL{});
141+
142+
ur_kernel_info_t property_name = UR_KERNEL_INFO_SPILL_MEM_SIZE;
143+
size_t property_size = 0;
144+
145+
ASSERT_SUCCESS_OR_OPTIONAL_QUERY(
146+
urKernelGetInfo(kernel, property_name, 0, nullptr, &property_size),
147+
property_name);
148+
ASSERT_EQ(property_size, sizeof(uint32_t));
149+
150+
std::vector<char> property_value(property_size);
151+
ASSERT_SUCCESS(urKernelGetInfo(kernel, property_name, property_size,
152+
property_value.data(), nullptr));
153+
}
154+
139155
TEST_P(urKernelGetInfoTest, InvalidNullHandleKernel) {
140156
size_t kernel_name_length = 0;
141157
ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE,

0 commit comments

Comments
 (0)