|
5 | 5 | * SPDX-License-Identifier: MIT
|
6 | 6 | *
|
7 | 7 | * @file ze_api.h
|
8 |
| - * @version v1.5-r1.5.8 |
| 8 | + * @version v1.5-r1.5.17 |
9 | 9 | *
|
10 | 10 | */
|
11 | 11 | #ifndef _ZE_API_H
|
@@ -741,6 +741,10 @@ typedef struct _ze_device_memory_ext_properties_t ze_device_memory_ext_propertie
|
741 | 741 | /// @brief Forward-declare ze_device_ip_version_ext_t
|
742 | 742 | typedef struct _ze_device_ip_version_ext_t ze_device_ip_version_ext_t;
|
743 | 743 |
|
| 744 | +/////////////////////////////////////////////////////////////////////////////// |
| 745 | +/// @brief Forward-declare ze_kernel_max_group_size_properties_ext_t |
| 746 | +typedef struct _ze_kernel_max_group_size_properties_ext_t ze_kernel_max_group_size_properties_ext_t; |
| 747 | + |
744 | 748 | ///////////////////////////////////////////////////////////////////////////////
|
745 | 749 | /// @brief Forward-declare ze_sub_allocation_t
|
746 | 750 | typedef struct _ze_sub_allocation_t ze_sub_allocation_t;
|
@@ -1192,6 +1196,7 @@ typedef struct _ze_device_properties_t
|
1192 | 1196 | ze_device_type_t type; ///< [out] generic device type
|
1193 | 1197 | uint32_t vendorId; ///< [out] vendor id from PCI configuration
|
1194 | 1198 | uint32_t deviceId; ///< [out] device id from PCI configuration
|
| 1199 | + ///< Note, the device id uses little-endian format. |
1195 | 1200 | ze_device_property_flags_t flags; ///< [out] 0 (none) or a valid combination of ::ze_device_property_flag_t
|
1196 | 1201 | uint32_t subdeviceId; ///< [out] sub-device id. Only valid if ::ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE
|
1197 | 1202 | ///< is set.
|
@@ -5449,14 +5454,18 @@ zeKernelGetIndirectAccess(
|
5449 | 5454 | /// + `nullptr == hKernel`
|
5450 | 5455 | /// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
|
5451 | 5456 | /// + `nullptr == pSize`
|
5452 |
| -/// + `nullptr == pString` |
5453 | 5457 | ZE_APIEXPORT ze_result_t ZE_APICALL
|
5454 | 5458 | zeKernelGetSourceAttributes(
|
5455 | 5459 | ze_kernel_handle_t hKernel, ///< [in] handle of the kernel object
|
5456 |
| - uint32_t* pSize, ///< [in,out] pointer to size of string in bytes. |
5457 |
| - char** pString ///< [in,out] pointer to null-terminated string, whose lifetime is tied to |
5458 |
| - ///< the kernel object, where kernel source attributes are separated by |
5459 |
| - ///< space. |
| 5460 | + uint32_t* pSize, ///< [in,out] pointer to size of string in bytes, including |
| 5461 | + ///< null-terminating character. |
| 5462 | + char** pString ///< [in,out][optional] pointer to application-managed character array |
| 5463 | + ///< (string data). |
| 5464 | + ///< If NULL, the string length of the kernel source attributes, including |
| 5465 | + ///< a null-terminating character, is returned in pSize. |
| 5466 | + ///< Otherwise, pString must point to valid application memory that is |
| 5467 | + ///< greater than or equal to *pSize bytes in length, and on return the |
| 5468 | + ///< pointed-to string will contain a space-separated list of kernel source attributes. |
5460 | 5469 | );
|
5461 | 5470 |
|
5462 | 5471 | ///////////////////////////////////////////////////////////////////////////////
|
@@ -8482,6 +8491,47 @@ typedef struct _ze_device_ip_version_ext_t
|
8482 | 8491 |
|
8483 | 8492 | } ze_device_ip_version_ext_t;
|
8484 | 8493 |
|
| 8494 | +#if !defined(__GNUC__) |
| 8495 | +#pragma endregion |
| 8496 | +#endif |
| 8497 | +// Intel 'oneAPI' Level-Zero Extension for querying kernel max group size properties. |
| 8498 | +#if !defined(__GNUC__) |
| 8499 | +#pragma region kernelMaxGroupSizeProperties |
| 8500 | +#endif |
| 8501 | +/////////////////////////////////////////////////////////////////////////////// |
| 8502 | +#ifndef ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_NAME |
| 8503 | +/// @brief Kernel Max Group Size Properties Extension Name |
| 8504 | +#define ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_NAME "ZE_extension_kernel_max_group_size_properties" |
| 8505 | +#endif // ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_NAME |
| 8506 | + |
| 8507 | +/////////////////////////////////////////////////////////////////////////////// |
| 8508 | +/// @brief Kernel Max Group Size Properties Extension Version(s) |
| 8509 | +typedef enum _ze_kernel_max_group_size_properties_ext_version_t |
| 8510 | +{ |
| 8511 | + ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_VERSION_1_0 = ZE_MAKE_VERSION( 1, 0 ), ///< version 1.0 |
| 8512 | + ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_VERSION_CURRENT = ZE_MAKE_VERSION( 1, 0 ), ///< latest known version |
| 8513 | + ZE_KERNEL_MAX_GROUP_SIZE_PROPERTIES_EXT_VERSION_FORCE_UINT32 = 0x7fffffff |
| 8514 | + |
| 8515 | +} ze_kernel_max_group_size_properties_ext_version_t; |
| 8516 | + |
| 8517 | +/////////////////////////////////////////////////////////////////////////////// |
| 8518 | +/// @brief Additional kernel max group size properties |
| 8519 | +/// |
| 8520 | +/// @details |
| 8521 | +/// - This structure may be passed to ::zeKernelGetProperties, via the |
| 8522 | +/// `pNext` member of ::ze_kernel_properties_t, to query additional kernel |
| 8523 | +/// max group size properties. |
| 8524 | +typedef struct _ze_kernel_max_group_size_properties_ext_t |
| 8525 | +{ |
| 8526 | + ze_structure_type_t stype; ///< [in] type of this structure |
| 8527 | + void* pNext; ///< [in,out][optional] must be null or a pointer to an extension-specific |
| 8528 | + ///< structure (i.e. contains sType and pNext). |
| 8529 | + uint32_t maxGroupSize; ///< [out] maximum group size that can be used to execute the kernel. This |
| 8530 | + ///< value may be less than or equal to the `maxTotalGroupSize` member of |
| 8531 | + ///< ::ze_device_compute_properties_t. |
| 8532 | + |
| 8533 | +} ze_kernel_max_group_size_properties_ext_t; |
| 8534 | + |
8485 | 8535 | #if !defined(__GNUC__)
|
8486 | 8536 | #pragma endregion
|
8487 | 8537 | #endif
|
|
0 commit comments