@@ -197,6 +197,8 @@ inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t
197
197
template <>
198
198
inline ur_result_t printFlag<ur_exp_image_copy_flag_t>(std::ostream &os, uint32_t flag);
199
199
200
+ template <>
201
+ inline ur_result_t printFlag<ur_device_command_buffer_update_capability_flag_t>(std::ostream &os, uint32_t flag);
200
202
template <>
201
203
inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_exp_command_buffer_info_t value, size_t size);
202
204
@@ -335,6 +337,7 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
335
337
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_external_mem_desc_t params);
336
338
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_external_semaphore_desc_t params);
337
339
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_image_copy_region_t params);
340
+ inline std::ostream &operator<<(std::ostream &os, enum ur_device_command_buffer_update_capability_flag_t value);
338
341
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_command_buffer_info_t value);
339
342
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_command_buffer_command_info_t value);
340
343
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_command_buffer_desc_t params);
@@ -2541,8 +2544,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
2541
2544
case UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP:
2542
2545
os << "UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP";
2543
2546
break;
2544
- case UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP :
2545
- os << "UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP ";
2547
+ case UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_CAPABILITIES_EXP :
2548
+ os << "UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_CAPABILITIES_EXP ";
2546
2549
break;
2547
2550
case UR_DEVICE_INFO_CLUSTER_LAUNCH_EXP:
2548
2551
os << "UR_DEVICE_INFO_CLUSTER_LAUNCH_EXP";
@@ -4049,15 +4052,16 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
4049
4052
4050
4053
os << ")";
4051
4054
} break;
4052
- case UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP : {
4053
- const ur_bool_t *tptr = (const ur_bool_t *)ptr;
4054
- if (sizeof(ur_bool_t ) > size) {
4055
- os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t ) << ")";
4055
+ case UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_CAPABILITIES_EXP : {
4056
+ const ur_device_command_buffer_update_capability_flags_t *tptr = (const ur_device_command_buffer_update_capability_flags_t *)ptr;
4057
+ if (sizeof(ur_device_command_buffer_update_capability_flags_t ) > size) {
4058
+ os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_command_buffer_update_capability_flags_t ) << ")";
4056
4059
return UR_RESULT_ERROR_INVALID_SIZE;
4057
4060
}
4058
4061
os << (const void *)(tptr) << " (";
4059
4062
4060
- os << *tptr;
4063
+ ur::details::printFlag<ur_device_command_buffer_update_capability_flag_t>(os,
4064
+ *tptr);
4061
4065
4062
4066
os << ")";
4063
4067
} break;
@@ -9701,6 +9705,103 @@ inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_image_copy
9701
9705
return os;
9702
9706
}
9703
9707
///////////////////////////////////////////////////////////////////////////////
9708
+ /// @brief Print operator for the ur_device_command_buffer_update_capability_flag_t type
9709
+ /// @returns
9710
+ /// std::ostream &
9711
+ inline std::ostream &operator<<(std::ostream &os, enum ur_device_command_buffer_update_capability_flag_t value) {
9712
+ switch (value) {
9713
+ case UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS:
9714
+ os << "UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS";
9715
+ break;
9716
+ case UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE:
9717
+ os << "UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE";
9718
+ break;
9719
+ case UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE:
9720
+ os << "UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE";
9721
+ break;
9722
+ case UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET:
9723
+ os << "UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET";
9724
+ break;
9725
+ case UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE:
9726
+ os << "UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE";
9727
+ break;
9728
+ default:
9729
+ os << "unknown enumerator";
9730
+ break;
9731
+ }
9732
+ return os;
9733
+ }
9734
+
9735
+ namespace ur::details {
9736
+ ///////////////////////////////////////////////////////////////////////////////
9737
+ /// @brief Print ur_device_command_buffer_update_capability_flag_t flag
9738
+ template <>
9739
+ inline ur_result_t printFlag<ur_device_command_buffer_update_capability_flag_t>(std::ostream &os, uint32_t flag) {
9740
+ uint32_t val = flag;
9741
+ bool first = true;
9742
+
9743
+ if ((val & UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS) == (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS) {
9744
+ val ^= (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS;
9745
+ if (!first) {
9746
+ os << " | ";
9747
+ } else {
9748
+ first = false;
9749
+ }
9750
+ os << UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_ARGUMENTS;
9751
+ }
9752
+
9753
+ if ((val & UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE) == (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE) {
9754
+ val ^= (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE;
9755
+ if (!first) {
9756
+ os << " | ";
9757
+ } else {
9758
+ first = false;
9759
+ }
9760
+ os << UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_LOCAL_WORK_SIZE;
9761
+ }
9762
+
9763
+ if ((val & UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE) == (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE) {
9764
+ val ^= (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE;
9765
+ if (!first) {
9766
+ os << " | ";
9767
+ } else {
9768
+ first = false;
9769
+ }
9770
+ os << UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_SIZE;
9771
+ }
9772
+
9773
+ if ((val & UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET) == (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET) {
9774
+ val ^= (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET;
9775
+ if (!first) {
9776
+ os << " | ";
9777
+ } else {
9778
+ first = false;
9779
+ }
9780
+ os << UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_GLOBAL_WORK_OFFSET;
9781
+ }
9782
+
9783
+ if ((val & UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE) == (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE) {
9784
+ val ^= (uint32_t)UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE;
9785
+ if (!first) {
9786
+ os << " | ";
9787
+ } else {
9788
+ first = false;
9789
+ }
9790
+ os << UR_DEVICE_COMMAND_BUFFER_UPDATE_CAPABILITY_FLAG_KERNEL_HANDLE;
9791
+ }
9792
+ if (val != 0) {
9793
+ std::bitset<32> bits(val);
9794
+ if (!first) {
9795
+ os << " | ";
9796
+ }
9797
+ os << "unknown bit flags " << bits;
9798
+ } else if (first) {
9799
+ os << "0";
9800
+ }
9801
+ return UR_RESULT_SUCCESS;
9802
+ }
9803
+ } // namespace ur::details
9804
+ ///////////////////////////////////////////////////////////////////////////////
9704
9805
/// @brief Print operator for the ur_exp_command_buffer_info_t type
9705
9806
/// @returns
9706
9807
/// std::ostream &
@@ -9953,6 +10054,12 @@ inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_command_bu
9953
10054
ur::details::printStruct(os,
9954
10055
(params.pNext));
9955
10056
10057
+ os << ", ";
10058
+ os << ".hNewKernel = ";
10059
+
10060
+ ur::details::printPtr(os,
10061
+ (params.hNewKernel));
10062
+
9956
10063
os << ", ";
9957
10064
os << ".numNewMemObjArgs = ";
9958
10065
@@ -15951,6 +16058,23 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
15951
16058
ur::details::printPtr(os,
15952
16059
*(params->ppLocalWorkSize));
15953
16060
16061
+ os << ", ";
16062
+ os << ".numKernelAlternatives = ";
16063
+
16064
+ os << *(params->pnumKernelAlternatives);
16065
+
16066
+ os << ", ";
16067
+ os << ".phKernelAlternatives = {";
16068
+ for (size_t i = 0; *(params->pphKernelAlternatives) != NULL && i < *params->pnumKernelAlternatives; ++i) {
16069
+ if (i != 0) {
16070
+ os << ", ";
16071
+ }
16072
+
16073
+ ur::details::printPtr(os,
16074
+ (*(params->pphKernelAlternatives))[i]);
16075
+ }
16076
+ os << "}";
16077
+
15954
16078
os << ", ";
15955
16079
os << ".numSyncPointsInWaitList = ";
15956
16080
0 commit comments