Skip to content

Commit 5fb16be

Browse files
committed
Generate sources
1 parent 9b14063 commit 5fb16be

File tree

10 files changed

+126
-4
lines changed

10 files changed

+126
-4
lines changed

include/ur_api.h

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1697,6 +1697,8 @@ typedef enum ur_device_info_t {
16971697
///< backed 2D sampled image data.
16981698
UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP = 0x2020, ///< [::ur_bool_t] returns true if the device supports enqueueing of native
16991699
///< work
1700+
UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP = 0x2021, ///< [::ur_exp_device_2d_block_array_capability_flags_t] return a bit-field
1701+
///< of Intel GPU 2D block array capabilities
17001702
/// @cond
17011703
UR_DEVICE_INFO_FORCE_UINT32 = 0x7fffffff
17021704
/// @endcond
@@ -1722,7 +1724,7 @@ typedef enum ur_device_info_t {
17221724
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
17231725
/// + `NULL == hDevice`
17241726
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
1725-
/// + `::UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP < propName`
1727+
/// + `::UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP < propName`
17261728
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
17271729
/// + If `propName` is not supported by the adapter.
17281730
/// - ::UR_RESULT_ERROR_INVALID_SIZE
@@ -7403,6 +7405,27 @@ urEnqueueWriteHostPipe(
74037405
///< an element of the phEventWaitList array.
74047406
);
74057407

7408+
#if !defined(__GNUC__)
7409+
#pragma endregion
7410+
#endif
7411+
// Intel 'oneAPI' Unified Runtime Experimental device descriptor for querying Intel device 2D block array capabilities
7412+
#if !defined(__GNUC__)
7413+
#pragma region 2d_block_array_capabilities_(experimental)
7414+
#endif
7415+
///////////////////////////////////////////////////////////////////////////////
7416+
/// @brief Intel GPU 2D block array capabilities
7417+
typedef uint32_t ur_exp_device_2d_block_array_capability_flags_t;
7418+
typedef enum ur_exp_device_2d_block_array_capability_flag_t {
7419+
UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD = UR_BIT(0), ///< Load instructions are supported
7420+
UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE = UR_BIT(1), ///< Store instructions are supported
7421+
/// @cond
7422+
UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_FORCE_UINT32 = 0x7fffffff
7423+
/// @endcond
7424+
7425+
} ur_exp_device_2d_block_array_capability_flag_t;
7426+
/// @brief Bit Mask for validating ur_exp_device_2d_block_array_capability_flags_t
7427+
#define UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAGS_MASK 0xfffffffc
7428+
74067429
#if !defined(__GNUC__)
74077430
#pragma endregion
74087431
#endif

include/ur_print.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintMapFlags(enum ur_map_flag_t value, ch
874874
/// - `buff_size < out_size`
875875
UR_APIEXPORT ur_result_t UR_APICALL urPrintUsmMigrationFlags(enum ur_usm_migration_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);
876876

877+
///////////////////////////////////////////////////////////////////////////////
878+
/// @brief Print ur_exp_device_2d_block_array_capability_flag_t enum
879+
/// @returns
880+
/// - ::UR_RESULT_SUCCESS
881+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
882+
/// - `buff_size < out_size`
883+
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpDevice_2dBlockArrayCapabilityFlags(enum ur_exp_device_2d_block_array_capability_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);
884+
877885
///////////////////////////////////////////////////////////////////////////////
878886
/// @brief Print ur_exp_image_copy_flag_t enum
879887
/// @returns

include/ur_print.hpp

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ inline ur_result_t printFlag<ur_map_flag_t>(std::ostream &os, uint32_t flag);
194194
template <>
195195
inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t flag);
196196

197+
template <>
198+
inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag);
199+
197200
template <>
198201
inline ur_result_t printFlag<ur_exp_image_copy_flag_t>(std::ostream &os, uint32_t flag);
199202

@@ -325,6 +328,7 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
325328
inline std::ostream &operator<<(std::ostream &os, enum ur_execution_info_t value);
326329
inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value);
327330
inline std::ostream &operator<<(std::ostream &os, enum ur_usm_migration_flag_t value);
331+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value);
328332
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_image_copy_flag_t value);
329333
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_filter_mode_t value);
330334
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_mem_type_t value);
@@ -2643,6 +2647,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
26432647
case UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP:
26442648
os << "UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP";
26452649
break;
2650+
case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP:
2651+
os << "UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP";
2652+
break;
26462653
default:
26472654
os << "unknown enumerator";
26482655
break;
@@ -4425,6 +4432,19 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
44254432

44264433
os << ")";
44274434
} break;
4435+
case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP: {
4436+
const ur_exp_device_2d_block_array_capability_flags_t *tptr = (const ur_exp_device_2d_block_array_capability_flags_t *)ptr;
4437+
if (sizeof(ur_exp_device_2d_block_array_capability_flags_t) > size) {
4438+
os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_exp_device_2d_block_array_capability_flags_t) << ")";
4439+
return UR_RESULT_ERROR_INVALID_SIZE;
4440+
}
4441+
os << (const void *)(tptr) << " (";
4442+
4443+
ur::details::printFlag<ur_exp_device_2d_block_array_capability_flag_t>(os,
4444+
*tptr);
4445+
4446+
os << ")";
4447+
} break;
44284448
default:
44294449
os << "unknown enumerator";
44304450
return UR_RESULT_ERROR_INVALID_ENUMERATION;
@@ -9376,6 +9396,64 @@ inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t
93769396
}
93779397
} // namespace ur::details
93789398
///////////////////////////////////////////////////////////////////////////////
9399+
/// @brief Print operator for the ur_exp_device_2d_block_array_capability_flag_t type
9400+
/// @returns
9401+
/// std::ostream &
9402+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value) {
9403+
switch (value) {
9404+
case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD:
9405+
os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD";
9406+
break;
9407+
case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE:
9408+
os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE";
9409+
break;
9410+
default:
9411+
os << "unknown enumerator";
9412+
break;
9413+
}
9414+
return os;
9415+
}
9416+
9417+
namespace ur::details {
9418+
///////////////////////////////////////////////////////////////////////////////
9419+
/// @brief Print ur_exp_device_2d_block_array_capability_flag_t flag
9420+
template <>
9421+
inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag) {
9422+
uint32_t val = flag;
9423+
bool first = true;
9424+
9425+
if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) {
9426+
val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9427+
if (!first) {
9428+
os << " | ";
9429+
} else {
9430+
first = false;
9431+
}
9432+
os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9433+
}
9434+
9435+
if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) {
9436+
val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9437+
if (!first) {
9438+
os << " | ";
9439+
} else {
9440+
first = false;
9441+
}
9442+
os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9443+
}
9444+
if (val != 0) {
9445+
std::bitset<32> bits(val);
9446+
if (!first) {
9447+
os << " | ";
9448+
}
9449+
os << "unknown bit flags " << bits;
9450+
} else if (first) {
9451+
os << "0";
9452+
}
9453+
return UR_RESULT_SUCCESS;
9454+
}
9455+
} // namespace ur::details
9456+
///////////////////////////////////////////////////////////////////////////////
93799457
/// @brief Print operator for the ur_exp_image_copy_flag_t type
93809458
/// @returns
93819459
/// std::ostream &

source/loader/layers/validation/ur_valddi.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ __urdlllocal ur_result_t UR_APICALL urDeviceGetInfo(
514514
return UR_RESULT_ERROR_INVALID_NULL_POINTER;
515515
}
516516

517-
if (UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP < propName) {
517+
if (UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP < propName) {
518518
return UR_RESULT_ERROR_INVALID_ENUMERATION;
519519
}
520520

source/loader/loader.def.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ EXPORTS
310310
urPrintExpCommandBufferUpdateMemobjArgDesc
311311
urPrintExpCommandBufferUpdatePointerArgDesc
312312
urPrintExpCommandBufferUpdateValueArgDesc
313+
urPrintExpDevice_2dBlockArrayCapabilityFlags
313314
urPrintExpEnqueueNativeCommandFlags
314315
urPrintExpEnqueueNativeCommandProperties
315316
urPrintExpExternalMemDesc

source/loader/loader.map.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@
310310
urPrintExpCommandBufferUpdateMemobjArgDesc;
311311
urPrintExpCommandBufferUpdatePointerArgDesc;
312312
urPrintExpCommandBufferUpdateValueArgDesc;
313+
urPrintExpDevice_2dBlockArrayCapabilityFlags;
313314
urPrintExpEnqueueNativeCommandFlags;
314315
urPrintExpEnqueueNativeCommandProperties;
315316
urPrintExpExternalMemDesc;

source/loader/ur_libapi.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ ur_result_t UR_APICALL urDeviceGetSelected(
868868
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
869869
/// + `NULL == hDevice`
870870
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
871-
/// + `::UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP < propName`
871+
/// + `::UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP < propName`
872872
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
873873
/// + If `propName` is not supported by the adapter.
874874
/// - ::UR_RESULT_ERROR_INVALID_SIZE

source/loader/ur_print.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,14 @@ ur_result_t urPrintUsmMigrationFlags(enum ur_usm_migration_flag_t value,
879879
return str_copy(&ss, buffer, buff_size, out_size);
880880
}
881881

882+
ur_result_t urPrintExpDevice_2dBlockArrayCapabilityFlags(
883+
enum ur_exp_device_2d_block_array_capability_flag_t value, char *buffer,
884+
const size_t buff_size, size_t *out_size) {
885+
std::stringstream ss;
886+
ss << value;
887+
return str_copy(&ss, buffer, buff_size, out_size);
888+
}
889+
882890
ur_result_t urPrintExpImageCopyFlags(enum ur_exp_image_copy_flag_t value,
883891
char *buffer, const size_t buff_size,
884892
size_t *out_size) {

source/ur_api.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ ur_result_t UR_APICALL urDeviceGetSelected(
769769
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
770770
/// + `NULL == hDevice`
771771
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
772-
/// + `::UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP < propName`
772+
/// + `::UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP < propName`
773773
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
774774
/// + If `propName` is not supported by the adapter.
775775
/// - ::UR_RESULT_ERROR_INVALID_SIZE

tools/urinfo/urinfo.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,5 +416,8 @@ inline void printDeviceInfos(ur_device_handle_t hDevice,
416416
std::cout << prefix;
417417
printDeviceInfo<ur_bool_t>(
418418
hDevice, UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP);
419+
std::cout << prefix;
420+
printDeviceInfo<ur_exp_device_2d_block_array_capability_flags_t>(
421+
hDevice, UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP);
419422
}
420423
} // namespace urinfo

0 commit comments

Comments
 (0)