Device#
oneAPI Level Zero Specification - Version 1.18.31
Device Functions#
zesDeviceEccAvailable#
Added in version 1.4
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceEccAvailable(zes_device_handle_t hDevice, ze_bool_t *pAvailable)#
Is ECC functionality available - true or false?
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Handle for the component.
pAvailable – [out] ECC functionality is available (true)/unavailable (false).
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pAvailable
zesDeviceEccConfigurable#
Added in version 1.4
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceEccConfigurable(zes_device_handle_t hDevice, ze_bool_t *pConfigurable)#
Is ECC support configurable - true or false?
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Handle for the component.
pConfigurable – [out] ECC can be enabled/disabled (true)/enabled/disabled (false).
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pConfigurable
zesDeviceGetEccState#
Added in version 1.4
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceGetEccState(zes_device_handle_t hDevice, zes_device_ecc_properties_t *pState)#
Get current ECC state, pending state, and pending action.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Handle for the component.
pState – [out] ECC state, pending state, and pending action for state change.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pState
zesDeviceSetEccState#
Added in version 1.4
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceSetEccState(zes_device_handle_t hDevice, const zes_device_ecc_desc_t *newState, zes_device_ecc_properties_t *pState)#
Set new ECC state.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
zesDeviceGetState should be called to determine pending action required to implement state change.
- Parameters:
hDevice – [in] Handle for the component.
newState – [in] Pointer to desired ECC state.
pState – [out] ECC state, pending state, and pending action for state change.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == newStatenullptr == pState
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_DEVICE_ECC_STATE_DISABLED < newState->state
ZE_RESULT_WARNING_ACTION_REQUIRED
User must look at the pendingAction attribute of pState & perform the action required to complete the ECC state change.
zesDeviceGet#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceGet(zes_driver_handle_t hDriver, uint32_t *pCount, zes_device_handle_t *phDevices)#
Retrieves sysman devices within a sysman driver.
Multiple calls to this function will return identical sysman device handles, in the same order.
The number and order of handles returned from this function is NOT affected by the
ZE_AFFINITY_MASK,ZE_ENABLE_PCI_ID_DEVICE_ORDER, orZE_FLAT_DEVICE_HIERARCHYenvironment variables.The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDriver – [in] handle of the sysman driver instance
pCount – [in,out] pointer to the number of sysman devices. if count is zero, then the driver shall update the value with the total number of sysman devices available. if count is greater than the number of sysman devices available, then the driver shall update the value with the correct number of sysman devices available.
phDevices – [in,out][optional][range(0, *pCount)] array of handle of sysman devices. if count is less than the number of sysman devices available, then driver shall only retrieve that number of sysman devices.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDriver
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zesDeviceSetOverclockWaiver#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceSetOverclockWaiver(zes_device_handle_t hDevice)#
Set the overclock waiver.The overclock waiver setting is persistent until the next pcode boot.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
This product does not support overclocking
zesDeviceGetOverclockDomains#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceGetOverclockDomains(zes_device_handle_t hDevice, uint32_t *pOverclockDomains)#
Get the list of supported overclock domains for this device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
pOverclockDomains – [in,out] Returns the overclock domains that are supported (a bit for each of enum zes_overclock_domain_t). If no bits are set, the device doesn’t support overclocking.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pOverclockDomains
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesDeviceGetOverclockControls#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceGetOverclockControls(zes_device_handle_t hDevice, zes_overclock_domain_t domainType, uint32_t *pAvailableControls)#
Get the list of supported overclock controls available for one of the supported overclock domains on the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
domainType – [in] Domain type.
pAvailableControls – [in,out] Returns the overclock controls that are supported for the specified overclock domain (a bit for each of enum zes_overclock_control_t).
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZES_OVERCLOCK_DOMAIN_ADM < domainType
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pAvailableControls
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesDeviceResetOverclockSettings#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceResetOverclockSettings(zes_device_handle_t hDevice, ze_bool_t onShippedState)#
Reset all overclock settings to default values (shipped = 1 or manufacturing =0)
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
onShippedState – [in] True will reset to shipped state; false will reset to manufacturing state
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesDeviceReadOverclockState#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceReadOverclockState(zes_device_handle_t hDevice, zes_overclock_mode_t *pOverclockMode, ze_bool_t *pWaiverSetting, ze_bool_t *pOverclockState, zes_pending_action_t *pPendingAction, ze_bool_t *pPendingReset)#
Determine the state of overclocking.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
pOverclockMode – [out] One of overclock mode.
pWaiverSetting – [out] Waiver setting: 0 = Waiver not set, 1 = waiver has been set.
pOverclockState – [out] Current settings 0 =manufacturing state, 1= shipped state)..
pPendingAction – [out] This enum is returned when the driver attempts to set an overclock control or reset overclock settings.
pPendingReset – [out] Pending reset 0 =manufacturing state, 1= shipped state)..
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pOverclockModenullptr == pWaiverSettingnullptr == pOverclockStatenullptr == pPendingActionnullptr == pPendingReset
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
Overclocking is not supported on this control domain
zesDeviceEnumOverclockDomains#
Added in version 1.5
-
ZE_APIEXPORT ze_result_t ZE_APICALL zesDeviceEnumOverclockDomains(zes_device_handle_t hDevice, uint32_t *pCount, zes_overclock_handle_t *phDomainHandle)#
Get handle of overclock domains.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] Sysman handle of the device.
pCount – [in,out] pointer to the number of components of this type. if count is zero, then the driver shall update the value with the total number of components of this type that are available. if count is greater than the number of components of this type that are available, then the driver shall update the value with the correct number of components.
phDomainHandle – [in,out][optional][range(0, *pCount)] array of handle of components of this type. if count is less than the number of components of this type that are available, then the driver shall only retrieve that number of component handles.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
Device Enums#
zes_engine_type_flags_t#
Added in version 1.0
-
enum zes_engine_type_flag_t#
Values:
-
enumerator ZES_ENGINE_TYPE_FLAG_OTHER#
Undefined types of accelerators.
-
enumerator ZES_ENGINE_TYPE_FLAG_COMPUTE#
Engines that process compute kernels only (no 3D content).
-
enumerator ZES_ENGINE_TYPE_FLAG_3D#
Engines that process 3D content only (no compute kernels).
-
enumerator ZES_ENGINE_TYPE_FLAG_MEDIA#
Engines that process media workloads.
-
enumerator ZES_ENGINE_TYPE_FLAG_DMA#
Engines that copy blocks of data.
-
enumerator ZES_ENGINE_TYPE_FLAG_RENDER#
Engines that can process both 3D content and compute kernels.
-
enumerator ZES_ENGINE_TYPE_FLAG_FORCE_UINT32#
Value marking end of ZES_ENGINE_TYPE_FLAG_* ENUMs.
-
enumerator ZES_ENGINE_TYPE_FLAG_OTHER#
zes_repair_status_t#
Added in version 1.0
-
enum zes_repair_status_t#
Device repair status.
Values:
-
enumerator ZES_REPAIR_STATUS_UNSUPPORTED#
The device does not support in-field repairs.
-
enumerator ZES_REPAIR_STATUS_NOT_PERFORMED#
The device has never been repaired.
-
enumerator ZES_REPAIR_STATUS_PERFORMED#
The device has been repaired.
-
enumerator ZES_REPAIR_STATUS_FORCE_UINT32#
Value marking end of ZES_REPAIR_STATUS_* ENUMs.
-
enumerator ZES_REPAIR_STATUS_UNSUPPORTED#
zes_reset_reason_flags_t#
Added in version 1.0
-
enum zes_reset_reason_flag_t#
Values:
-
enumerator ZES_RESET_REASON_FLAG_WEDGED#
The device needs to be reset because one or more parts of the hardware is wedged
-
enumerator ZES_RESET_REASON_FLAG_REPAIR#
The device needs to be reset in order to complete in-field repairs.
-
enumerator ZES_RESET_REASON_FLAG_FORCE_UINT32#
Value marking end of ZES_RESET_REASON_FLAG_* ENUMs.
-
enumerator ZES_RESET_REASON_FLAG_WEDGED#
zes_reset_type_t#
Added in version 1.7
zes_device_type_t#
Added in version 1.7
-
enum zes_device_type_t#
Supported device types.
Values:
-
enumerator ZES_DEVICE_TYPE_GPU#
Graphics Processing Unit.
-
enumerator ZES_DEVICE_TYPE_CPU#
Central Processing Unit.
-
enumerator ZES_DEVICE_TYPE_FPGA#
Field Programmable Gate Array.
-
enumerator ZES_DEVICE_TYPE_MCA#
Memory Copy Accelerator.
-
enumerator ZES_DEVICE_TYPE_VPU#
Vision Processing Unit.
-
enumerator ZES_DEVICE_TYPE_FORCE_UINT32#
Value marking end of ZES_DEVICE_TYPE_* ENUMs.
-
enumerator ZES_DEVICE_TYPE_GPU#
zes_device_property_flags_t#
Added in version 1.7
-
enum zes_device_property_flag_t#
Values:
-
enumerator ZES_DEVICE_PROPERTY_FLAG_INTEGRATED#
Device is integrated with the Host.
-
enumerator ZES_DEVICE_PROPERTY_FLAG_SUBDEVICE#
Device handle used for query represents a sub-device.
-
enumerator ZES_DEVICE_PROPERTY_FLAG_ECC#
Device supports error correction memory access.
-
enumerator ZES_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING#
Device supports on-demand page-faulting.
-
enumerator ZES_DEVICE_PROPERTY_FLAG_FORCE_UINT32#
Value marking end of ZES_DEVICE_PROPERTY_FLAG_* ENUMs.
-
enumerator ZES_DEVICE_PROPERTY_FLAG_INTEGRATED#
zes_pci_link_status_t#
Added in version 1.0
-
enum zes_pci_link_status_t#
PCI link status.
Values:
-
enumerator ZES_PCI_LINK_STATUS_UNKNOWN#
The link status could not be determined.
-
enumerator ZES_PCI_LINK_STATUS_GOOD#
The link is up and operating as expected.
-
enumerator ZES_PCI_LINK_STATUS_QUALITY_ISSUES#
The link is up but has quality and/or bandwidth degradation.
-
enumerator ZES_PCI_LINK_STATUS_STABILITY_ISSUES#
The link has stability issues and preventing workloads making forward progress
-
enumerator ZES_PCI_LINK_STATUS_FORCE_UINT32#
Value marking end of ZES_PCI_LINK_STATUS_* ENUMs.
-
enumerator ZES_PCI_LINK_STATUS_UNKNOWN#
zes_pci_link_qual_issue_flags_t#
Added in version 1.0
-
enum zes_pci_link_qual_issue_flag_t#
Values:
-
enumerator ZES_PCI_LINK_QUAL_ISSUE_FLAG_REPLAYS#
A significant number of replays are occurring.
-
enumerator ZES_PCI_LINK_QUAL_ISSUE_FLAG_SPEED#
There is a degradation in the maximum bandwidth of the link.
-
enumerator ZES_PCI_LINK_QUAL_ISSUE_FLAG_FORCE_UINT32#
Value marking end of ZES_PCI_LINK_QUAL_ISSUE_FLAG_* ENUMs.
-
enumerator ZES_PCI_LINK_QUAL_ISSUE_FLAG_REPLAYS#
zes_pci_link_stab_issue_flags_t#
Added in version 1.0
zes_pci_bar_type_t#
Added in version 1.0
zes_overclock_domain_t#
Added in version 1.5
-
enum zes_overclock_domain_t#
Overclock domains.
Values:
-
enumerator ZES_OVERCLOCK_DOMAIN_CARD#
Overclocking card level properties such as temperature limits.
-
enumerator ZES_OVERCLOCK_DOMAIN_PACKAGE#
Overclocking package level properties such as power limits.
-
enumerator ZES_OVERCLOCK_DOMAIN_GPU_ALL#
Overclocking a GPU that has all accelerator assets on the same PLL/VR.
-
enumerator ZES_OVERCLOCK_DOMAIN_GPU_RENDER_COMPUTE#
Overclocking a GPU with render and compute assets on the same PLL/VR.
-
enumerator ZES_OVERCLOCK_DOMAIN_GPU_RENDER#
Overclocking a GPU with render assets on its own PLL/VR.
-
enumerator ZES_OVERCLOCK_DOMAIN_GPU_COMPUTE#
Overclocking a GPU with compute assets on its own PLL/VR.
-
enumerator ZES_OVERCLOCK_DOMAIN_GPU_MEDIA#
Overclocking a GPU with media assets on its own PLL/VR.
-
enumerator ZES_OVERCLOCK_DOMAIN_VRAM#
Overclocking device local memory.
-
enumerator ZES_OVERCLOCK_DOMAIN_ADM#
Overclocking LLC/L4 cache.
-
enumerator ZES_OVERCLOCK_DOMAIN_FORCE_UINT32#
Value marking end of ZES_OVERCLOCK_DOMAIN_* ENUMs.
-
enumerator ZES_OVERCLOCK_DOMAIN_CARD#
zes_device_ecc_state_t#
Added in version 1.4
-
enum zes_device_ecc_state_t#
ECC State.
Values:
-
enumerator ZES_DEVICE_ECC_STATE_UNAVAILABLE#
None.
-
enumerator ZES_DEVICE_ECC_STATE_ENABLED#
ECC enabled.
-
enumerator ZES_DEVICE_ECC_STATE_DISABLED#
ECC disabled.
-
enumerator ZES_DEVICE_ECC_STATE_FORCE_UINT32#
Value marking end of ZES_DEVICE_ECC_STATE_* ENUMs.
-
enumerator ZES_DEVICE_ECC_STATE_UNAVAILABLE#
zes_device_action_t#
Added in version 1.4
-
enum zes_device_action_t#
State Change Requirements.
Values:
-
enumerator ZES_DEVICE_ACTION_NONE#
No action.
-
enumerator ZES_DEVICE_ACTION_WARM_CARD_RESET#
Warm reset of the card.
-
enumerator ZES_DEVICE_ACTION_COLD_CARD_RESET#
Cold reset of the card.
-
enumerator ZES_DEVICE_ACTION_COLD_SYSTEM_REBOOT#
Cold reboot of the system.
-
enumerator ZES_DEVICE_ACTION_FORCE_UINT32#
Value marking end of ZES_DEVICE_ACTION_* ENUMs.
-
enumerator ZES_DEVICE_ACTION_NONE#
zes_freq_domain_t#
Added in version 1.0
-
enum zes_freq_domain_t#
Frequency domains.
Values:
-
enumerator ZES_FREQ_DOMAIN_GPU#
GPU Core Domain.
-
enumerator ZES_FREQ_DOMAIN_MEMORY#
Local Memory Domain.
-
enumerator ZES_FREQ_DOMAIN_MEDIA#
GPU Media Domain. (since v1.6)
-
enumerator ZES_FREQ_DOMAIN_FORCE_UINT32#
Value marking end of ZES_FREQ_DOMAIN_* ENUMs.
-
enumerator ZES_FREQ_DOMAIN_GPU#
zes_sched_mode_t#
Added in version 1.0
-
enum zes_sched_mode_t#
Scheduler mode.
Values:
-
enumerator ZES_SCHED_MODE_TIMEOUT#
Multiple applications or contexts are submitting work to the hardware. When higher priority work arrives, the scheduler attempts to pause the current executing work within some timeout interval, then submits the other work.
-
enumerator ZES_SCHED_MODE_TIMESLICE#
The scheduler attempts to fairly timeslice hardware execution time between multiple contexts submitting work to the hardware concurrently.
-
enumerator ZES_SCHED_MODE_EXCLUSIVE#
Any application or context can run indefinitely on the hardware without being preempted or terminated. All pending work for other contexts must wait until the running context completes with no further submitted work.
-
enumerator ZES_SCHED_MODE_COMPUTE_UNIT_DEBUG#
[DEPRECATED] No longer supported.
-
enumerator ZES_SCHED_MODE_FORCE_UINT32#
Value marking end of ZES_SCHED_MODE_* ENUMs.
-
enumerator ZES_SCHED_MODE_TIMEOUT#
Device Structures#
zes_device_state_t#
Added in version 1.0
-
struct zes_device_state_t#
Device state. To retrieve the current device state, please use zes_device_ext_state_t as pNext.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
const void *pNext#
[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_reset_reason_flags_t reset#
[out] Indicates if the device needs to be reset and for what reasons. returns 0 (none) or combination of zes_reset_reason_flag_t
-
zes_repair_status_t repaired#
[out] Indicates if the device has been repaired
-
zes_structure_type_t stype#
zes_reset_properties_t#
Added in version 1.7
-
struct zes_reset_properties_t#
Device reset properties.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
ze_bool_t force#
[in] If set to true, all applications that are currently using the device will be forcibly killed.
-
zes_reset_type_t resetType#
[in] Type of reset needs to be performed
-
zes_structure_type_t stype#
zes_uuid_t#
Added in version 1.7
zes_device_properties_t#
Added in version 1.0
-
struct zes_device_properties_t#
Device properties. To get OEM Serial ID, pNext member of this structure should point to an instance of ${s}_oem_serial_id_ext_properties_t with its stype set to ZES_STRUCTURE_TYPE_OEM_SERIAL_ID_EXT_PROPERTIES.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
ze_device_properties_t core#
[out] (Deprecated, use zes_uuid_t in the extended structure) Core device properties
-
uint32_t numSubdevices#
[out] Number of sub-devices. A value of 0 indicates that this device doesn’t have sub-devices.
-
char serialNumber[ZES_STRING_PROPERTY_SIZE]#
[out] Manufacturing serial number (NULL terminated string value). This value is intended to reflect the Part ID/SoC ID assigned by manufacturer that is unique for a SoC. Will be set to the string “unknown” if this cannot be determined for the device.
-
char boardNumber[ZES_STRING_PROPERTY_SIZE]#
[out] Manufacturing board number (NULL terminated string value). Alternatively “boardSerialNumber”, this value is intended to reflect the string printed on board label by manufacturer. Will be set to the string “unknown” if this cannot be determined for the device.
-
char brandName[ZES_STRING_PROPERTY_SIZE]#
[out] Brand name of the device (NULL terminated string value). Will be set to the string “unknown” if this cannot be determined for the device.
-
char modelName[ZES_STRING_PROPERTY_SIZE]#
[out] Model name of the device (NULL terminated string value). Will be set to the string “unknown” if this cannot be determined for the device.
-
char vendorName[ZES_STRING_PROPERTY_SIZE]#
[out] Vendor name of the device (NULL terminated string value). Will be set to the string “unknown” if this cannot be determined for the device.
-
char driverVersion[ZES_STRING_PROPERTY_SIZE]#
[out] Installed driver version (NULL terminated string value). Will be set to the string “unknown” if this cannot be determined for the device.
-
zes_structure_type_t stype#
zes_process_state_t#
Added in version 1.0
-
struct zes_process_state_t#
Contains information about a process that has an open connection with this device.
The application can use the process ID to query the OS for the owner and the path to the executable.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
const void *pNext#
[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
uint32_t processId#
[out] Host OS process ID.
-
uint64_t memSize#
[out] Device memory size in bytes allocated by this process (may not necessarily be resident on the device at the time of reading).
[out] The size of shared device memory mapped into this process (may not necessarily be resident on the device at the time of reading).
-
zes_engine_type_flags_t engines#
[out] Bitfield of accelerator engine types being used by this process.
zes_pci_address_t#
Added in version 1.0
-
struct zes_pci_address_t#
PCI address.
zes_pci_speed_t#
Added in version 1.0
-
struct zes_pci_speed_t#
PCI speed.
Public Members
-
int32_t gen#
[out] The link generation. A value of -1 means that this property is unknown.
-
int32_t width#
[out] The number of lanes. A value of -1 means that this property is unknown.
-
int64_t maxBandwidth#
[out] The maximum bandwidth in bytes/sec (sum of all lanes). A value of -1 means that this property is unknown.
-
int32_t gen#
zes_pci_properties_t#
Added in version 1.0
-
struct zes_pci_properties_t#
Static PCI properties.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_pci_address_t address#
[out] The BDF address
-
zes_pci_speed_t maxSpeed#
[out] Fastest port configuration supported by the device (sum of all lanes)
-
ze_bool_t haveBandwidthCounters#
[out] Indicates whether the
rxCounterandtxCountermembers of zes_pci_stats_t will have valid values
-
ze_bool_t havePacketCounters#
[out] Indicates whether the
packetCountermember of zes_pci_stats_t will have a valid value
-
ze_bool_t haveReplayCounters#
[out] Indicates whether the
replayCountermember of zes_pci_stats_t will have a valid value
-
zes_structure_type_t stype#
zes_pci_state_t#
Added in version 1.0
-
struct zes_pci_state_t#
Dynamic PCI state.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
const void *pNext#
[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_pci_link_status_t status#
[out] The current status of the port
-
zes_pci_link_qual_issue_flags_t qualityIssues#
[out] If status is ZES_PCI_LINK_STATUS_QUALITY_ISSUES, then this gives a combination of zes_pci_link_qual_issue_flag_t for quality issues that have been detected; otherwise, 0 indicates there are no quality issues with the link at this time.”
-
zes_pci_link_stab_issue_flags_t stabilityIssues#
[out] If status is ZES_PCI_LINK_STATUS_STABILITY_ISSUES, then this gives a combination of zes_pci_link_stab_issue_flag_t for reasons for the connection instability; otherwise, 0 indicates there are no connection stability issues at this time.”
-
zes_pci_speed_t speed#
[out] The current port configure speed
-
zes_structure_type_t stype#
zes_pci_bar_properties_t#
Added in version 1.0
-
struct zes_pci_bar_properties_t#
Properties of a pci bar.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_pci_bar_type_t type#
[out] The type of bar
-
uint32_t index#
[out] The index of the bar
-
uint64_t base#
[out] Base address of the bar.
-
uint64_t size#
[out] Size of the bar.
-
zes_structure_type_t stype#
zes_pci_bar_properties_1_2_t#
Added in version 1.2
-
struct zes_pci_bar_properties_1_2_t#
Properties of a pci bar, including the resizable bar.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_pci_bar_type_t type#
[out] The type of bar
-
uint32_t index#
[out] The index of the bar
-
uint64_t base#
[out] Base address of the bar.
-
uint64_t size#
[out] Size of the bar.
-
ze_bool_t resizableBarSupported#
[out] Support for Resizable Bar on this device.
-
ze_bool_t resizableBarEnabled#
[out] Resizable Bar enabled on this device
-
zes_structure_type_t stype#
zes_pci_stats_t#
Added in version 1.0
-
struct zes_pci_stats_t#
PCI stats counters.
Percent replays is calculated by taking two snapshots (s1, s2) and using the equation: replay = 10^6 * (s2.replayCounter - s1.replayCounter) / (s2.maxBandwidth * (s2.timestamp - s1.timestamp))
Percent throughput is calculated by taking two snapshots (s1, s2) and using the equation: bw = 10^6 * ((s2.rxCounter - s1.rxCounter) + (s2.txCounter - s1.txCounter)) / (s2.maxBandwidth * (s2.timestamp - s1.timestamp))
Public Members
-
uint64_t timestamp#
[out] Monotonic timestamp counter in microseconds when the measurement was made. This timestamp should only be used to calculate delta time between snapshots of this structure. Never take the delta of this timestamp with the timestamp from a different structure since they are not guaranteed to have the same base. The absolute value of the timestamp is only valid during within the application and may be different on the next execution.
-
uint64_t replayCounter#
[out] Monotonic counter for the number of replay packets (sum of all lanes). Will always be 0 when the
haveReplayCountersmember of zes_pci_properties_t is FALSE.
-
uint64_t packetCounter#
[out] Monotonic counter for the number of packets (sum of all lanes). Will always be 0 when the
havePacketCountersmember of zes_pci_properties_t is FALSE.
-
uint64_t rxCounter#
[out] Monotonic counter for the number of bytes received (sum of all lanes). Will always be 0 when the
haveBandwidthCountersmember of zes_pci_properties_t is FALSE.
-
uint64_t txCounter#
[out] Monotonic counter for the number of bytes transmitted (including replays) (sum of all lanes). Will always be 0 when the
haveBandwidthCountersmember of zes_pci_properties_t is FALSE.
-
zes_pci_speed_t speed#
[out] The current speed of the link (sum of all lanes)
zes_device_ecc_desc_t#
Added in version 1.4
-
struct zes_device_ecc_desc_t#
ECC State Descriptor.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
const void *pNext#
[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_device_ecc_state_t state#
[out] ECC state
-
zes_structure_type_t stype#
zes_device_ecc_properties_t#
Added in version 1.4
-
struct zes_device_ecc_properties_t#
ECC State.
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
zes_device_ecc_state_t currentState#
[out] Current ECC state
-
zes_device_ecc_state_t pendingState#
[out] Pending ECC state
-
zes_device_action_t pendingAction#
[out] Pending action
-
zes_structure_type_t stype#
zes_sched_timeout_properties_t#
Added in version 1.0
-
struct zes_sched_timeout_properties_t#
Configuration for timeout scheduler mode (ZES_SCHED_MODE_TIMEOUT)
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
uint64_t watchdogTimeout#
[in,out] The maximum time in microseconds that the scheduler will wait for a batch of work submitted to a hardware engine to complete or to be preempted so as to run another context. If this time is exceeded, the hardware engine is reset and the context terminated. If set to ZES_SCHED_WATCHDOG_DISABLE, a running workload can run as long as it wants without being terminated, but preemption attempts to run other contexts are permitted but not enforced.
-
zes_structure_type_t stype#
zes_sched_timeslice_properties_t#
Added in version 1.0
-
struct zes_sched_timeslice_properties_t#
Configuration for timeslice scheduler mode (ZES_SCHED_MODE_TIMESLICE)
Public Members
-
zes_structure_type_t stype#
[in] type of this structure
-
void *pNext#
[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
-
uint64_t interval#
[in,out] The average interval in microseconds that a submission for a context will run on a hardware engine before being preempted out to run a pending submission for another context.
-
uint64_t yieldTimeout#
[in,out] The maximum time in microseconds that the scheduler will wait to preempt a workload running on an engine before deciding to reset the hardware engine and terminating the associated context.
-
zes_structure_type_t stype#