Skip to content

Commit

Permalink
Merge pull request #1196 from aarongreig/aaron/replaceProgramInfoSour…
Browse files Browse the repository at this point in the history
…ceWithIL

Replace PROGRAM_INFO_SOURCE with PROGRAM_INFO_IL.
  • Loading branch information
aarongreig authored Oct 10, 2024
2 parents 0112320 + 62cdf6a commit ed5a20e
Show file tree
Hide file tree
Showing 12 changed files with 35 additions and 32 deletions.
4 changes: 3 additions & 1 deletion include/ur_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -4491,7 +4491,9 @@ typedef enum ur_program_info_t {
UR_PROGRAM_INFO_DEVICES = 3, ///< [::ur_device_handle_t[]] Return list of devices associated with a program.
///< This is either the list of devices associated with the context or a
///< subset of those devices when the program is created using ::urProgramCreateWithBinary.
UR_PROGRAM_INFO_SOURCE = 4, ///< [char[]] Return program source associated with Program.
UR_PROGRAM_INFO_IL = 4, ///< [char[]] Return program IL if the program was created with
///< ::urProgramCreateWithIL, otherwise return size will be set to 0 and
///< nothing will be returned.
UR_PROGRAM_INFO_BINARY_SIZES = 5, ///< [size_t[]] Return program binary sizes for each device.
UR_PROGRAM_INFO_BINARIES = 6, ///< [unsigned char[]] Return program binaries for all devices for this
///< Program.
Expand Down
6 changes: 3 additions & 3 deletions include/ur_print.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7505,8 +7505,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_program_info_t value)
case UR_PROGRAM_INFO_DEVICES:
os << "UR_PROGRAM_INFO_DEVICES";
break;
case UR_PROGRAM_INFO_SOURCE:
os << "UR_PROGRAM_INFO_SOURCE";
case UR_PROGRAM_INFO_IL:
os << "UR_PROGRAM_INFO_IL";
break;
case UR_PROGRAM_INFO_BINARY_SIZES:
os << "UR_PROGRAM_INFO_BINARY_SIZES";
Expand Down Expand Up @@ -7588,7 +7588,7 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_program_inf
}
os << "}";
} break;
case UR_PROGRAM_INFO_SOURCE: {
case UR_PROGRAM_INFO_IL: {

const char *tptr = (const char *)ptr;
printPtr(os, tptr);
Expand Down
4 changes: 2 additions & 2 deletions scripts/core/program.yml
Original file line number Diff line number Diff line change
Expand Up @@ -376,8 +376,8 @@ etors:
desc: |
[$x_device_handle_t[]] Return list of devices associated with a program.
This is either the list of devices associated with the context or a subset of those devices when the program is created using $xProgramCreateWithBinary.
- name: SOURCE
desc: "[char[]] Return program source associated with Program."
- name: IL
desc: "[char[]] Return program IL if the program was created with $xProgramCreateWithIL, otherwise return size will be set to 0 and nothing will be returned."
- name: BINARY_SIZES
desc: "[size_t[]] Return program binary sizes for each device."
- name: BINARIES
Expand Down
3 changes: 1 addition & 2 deletions source/adapters/cuda/program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -405,8 +405,6 @@ urProgramGetInfo(ur_program_handle_t hProgram, ur_program_info_t propName,
return ReturnValue(1u);
case UR_PROGRAM_INFO_DEVICES:
return ReturnValue(&hProgram->Device, 1);
case UR_PROGRAM_INFO_SOURCE:
return ReturnValue(hProgram->Binary);
case UR_PROGRAM_INFO_BINARY_SIZES:
return ReturnValue(&hProgram->BinarySizeInBytes, 1);
case UR_PROGRAM_INFO_BINARIES:
Expand All @@ -416,6 +414,7 @@ urProgramGetInfo(ur_program_handle_t hProgram, ur_program_info_t propName,
UR_ASSERT(getKernelNames(hProgram), UR_RESULT_ERROR_UNSUPPORTED_FEATURE);
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
case UR_PROGRAM_INFO_NUM_KERNELS:
case UR_PROGRAM_INFO_IL:
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
default:
break;
Expand Down
4 changes: 2 additions & 2 deletions source/adapters/hip/program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -403,14 +403,14 @@ urProgramGetInfo(ur_program_handle_t hProgram, ur_program_info_t propName,
return ReturnValue(1u);
case UR_PROGRAM_INFO_DEVICES:
return ReturnValue(&hProgram->getContext()->getDevices()[0], 1);
case UR_PROGRAM_INFO_SOURCE:
return ReturnValue(hProgram->Binary);
case UR_PROGRAM_INFO_BINARY_SIZES:
return ReturnValue(&hProgram->BinarySizeInBytes, 1);
case UR_PROGRAM_INFO_BINARIES:
return ReturnValue(&hProgram->Binary, 1);
case UR_PROGRAM_INFO_KERNEL_NAMES:
return getKernelNames(hProgram);
case UR_PROGRAM_INFO_IL:
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
default:
break;
}
Expand Down
6 changes: 2 additions & 4 deletions source/adapters/level_zero/program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,6 @@ ur_result_t urProgramBuildExp(
hProgram->ZeBuildLogMap.insert(std::make_pair(ZeDevice, ZeBuildLog));
}

// We no longer need the IL / native code.
hProgram->Code.reset();
if (!hProgram->ZeModuleMap.empty())
hProgram->ZeModule = hProgram->ZeModuleMap.begin()->second;
if (!hProgram->ZeBuildLogMap.empty())
Expand Down Expand Up @@ -816,8 +814,8 @@ ur_result_t urProgramGetInfo(
} catch (...) {
return UR_RESULT_ERROR_UNKNOWN;
}
case UR_PROGRAM_INFO_SOURCE:
return ReturnValue(Program->Code.get());
case UR_PROGRAM_INFO_IL:
return ReturnValue(Program->Code.get(), Program->CodeLength);
default:
return UR_RESULT_ERROR_INVALID_ENUMERATION;
}
Expand Down
4 changes: 2 additions & 2 deletions source/adapters/native_cpu/program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,15 +215,15 @@ urProgramGetInfo(ur_program_handle_t hProgram, ur_program_info_t propName,
return returnValue(1u);
case UR_PROGRAM_INFO_DEVICES:
return returnValue(hProgram->_ctx->_device);
case UR_PROGRAM_INFO_SOURCE:
return returnValue(nullptr);
case UR_PROGRAM_INFO_BINARY_SIZES:
return returnValue("foo");
case UR_PROGRAM_INFO_BINARIES:
return returnValue("foo");
case UR_PROGRAM_INFO_KERNEL_NAMES: {
return returnValue("foo");
}
case UR_PROGRAM_INFO_IL:
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
default:
break;
}
Expand Down
4 changes: 2 additions & 2 deletions source/adapters/opencl/program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ static cl_int mapURProgramInfoToCL(ur_program_info_t URPropName) {
return CL_PROGRAM_NUM_DEVICES;
case UR_PROGRAM_INFO_DEVICES:
return CL_PROGRAM_DEVICES;
case UR_PROGRAM_INFO_SOURCE:
return CL_PROGRAM_SOURCE;
case UR_PROGRAM_INFO_IL:
return CL_PROGRAM_IL;
case UR_PROGRAM_INFO_BINARY_SIZES:
return CL_PROGRAM_BINARY_SIZES;
case UR_PROGRAM_INFO_BINARIES:
Expand Down
3 changes: 0 additions & 3 deletions test/conformance/program/program_adapter_cuda.match
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ urProgramBuildTest.BuildFailure/NVIDIA_CUDA_BACKEND___{{.*}}_
{{OPT}}urProgramCreateWithILTest.BuildInvalidProgram/NVIDIA_CUDA_BACKEND___{{.*}}
# This test flakily fails
{{OPT}}urProgramGetBuildInfoSingleTest.LogIsNullTerminated/NVIDIA_CUDA_BACKEND___{{.*}}
# CUDA doesn't expose kernel numbers or names
urProgramGetInfoTest.Success/NVIDIA_CUDA_BACKEND___{{.*}}___UR_PROGRAM_INFO_NUM_KERNELS
urProgramGetInfoTest.Success/NVIDIA_CUDA_BACKEND___{{.*}}___UR_PROGRAM_INFO_KERNEL_NAMES
{{OPT}}urProgramSetSpecializationConstantsTest.Success/NVIDIA_CUDA_BACKEND___{{.*}}
{{OPT}}urProgramSetSpecializationConstantsTest.UseDefaultValue/NVIDIA_CUDA_BACKEND___{{.*}}
urProgramSetMultipleSpecializationConstantsTest.MultipleCalls/NVIDIA_CUDA_BACKEND___{{.*}}
Expand Down
14 changes: 7 additions & 7 deletions test/conformance/program/program_adapter_native_cpu.match
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -67,7 +67,7 @@
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidNullHandleProgram/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -76,7 +76,7 @@
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidEnumeration/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -85,7 +85,7 @@
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidSizeZero/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -94,7 +94,7 @@
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -103,7 +103,7 @@
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValue/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand All @@ -112,7 +112,7 @@
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_CONTEXT
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_DEVICES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_SOURCE
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_IL
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARY_SIZES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_BINARIES
{{OPT}}urProgramGetInfoTest.InvalidNullPointerPropValueRet/SYCL_NATIVE_CPU___SYCL_Native_CPU__{{.*}}__UR_PROGRAM_INFO_NUM_KERNELS
Expand Down
1 change: 0 additions & 1 deletion test/conformance/program/program_adapter_opencl.match
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
{{NONDETERMINISTIC}}
urProgramCreateWithILTest.BuildInvalidProgram/Intel_R__OpenCL___{{.*}}_
urProgramGetInfoTest.Success/Intel_R__OpenCL___{{.*}}___UR_PROGRAM_INFO_SOURCE
14 changes: 11 additions & 3 deletions test/conformance/program/urProgramGetInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ UUR_TEST_SUITE_P(
urProgramGetInfoTest,
::testing::Values(UR_PROGRAM_INFO_REFERENCE_COUNT, UR_PROGRAM_INFO_CONTEXT,
UR_PROGRAM_INFO_NUM_DEVICES, UR_PROGRAM_INFO_DEVICES,
UR_PROGRAM_INFO_SOURCE, UR_PROGRAM_INFO_BINARY_SIZES,
UR_PROGRAM_INFO_IL, UR_PROGRAM_INFO_BINARY_SIZES,
UR_PROGRAM_INFO_BINARIES, UR_PROGRAM_INFO_NUM_KERNELS,
UR_PROGRAM_INFO_KERNEL_NAMES),
uur::deviceTestWithParamPrinter<ur_program_info_t>);
Expand Down Expand Up @@ -52,8 +52,12 @@ TEST_P(urProgramGetInfoTest, Success) {
sizeof(binaries[0]), binaries,
nullptr));
} else {
ASSERT_SUCCESS(urProgramGetInfo(program, property_name, 0, nullptr,
&property_size));
auto result = urProgramGetInfo(program, property_name, 0, nullptr,
&property_size);
if (result != UR_RESULT_SUCCESS) {
ASSERT_EQ_RESULT(result, UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION);
return;
}
property_value.resize(property_size);
ASSERT_SUCCESS(urProgramGetInfo(program, property_name, property_size,
property_value.data(), nullptr));
Expand Down Expand Up @@ -103,6 +107,10 @@ TEST_P(urProgramGetInfoTest, Success) {
ASSERT_STRNE(returned_kernel_names, "");
break;
}
case UR_PROGRAM_INFO_IL: {
ASSERT_EQ(property_value, *il_binary.get());
break;
}
default:
break;
}
Expand Down

0 comments on commit ed5a20e

Please sign in to comment.