Device#
oneAPI Level Zero Specification - Version 1.18.31
Device Functions#
zeDeviceGet#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGet(ze_driver_handle_t hDriver, uint32_t *pCount, ze_device_handle_t *phDevices)#
Retrieves devices within a driver.
Multiple calls to this function will return identical device handles, in the same order.
The number and order of handles returned from this function is affected by the
ZE_AFFINITY_MASKandZE_ENABLE_PCI_ID_DEVICE_ORDERenvironment 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 driver instance
pCount – [in,out] pointer to the number of devices. if count is zero, then the driver shall update the value with the total number of devices available. if count is greater than the number of devices available, then the driver shall update the value with the correct number of devices available.
phDevices – [in,out][optional][range(0, *pCount)] array of handle of devices. if count is less than the number of devices available, then driver shall only retrieve that number of devices.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDriver
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zeDeviceGetSubDevices#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetSubDevices(ze_device_handle_t hDevice, uint32_t *pCount, ze_device_handle_t *phSubdevices)#
Retrieves a sub-device from a device.
When the device handle passed does not contain any sub-device, a pCount of 0 is returned.
Multiple calls to this function will return identical device handles, in the same order.
The number of handles returned from this function is affected by the
ZE_AFFINITY_MASKenvironment variable.The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clCreateSubDevices
- Parameters:
hDevice – [in] handle of the device object
pCount – [in,out] pointer to the number of sub-devices. if count is zero, then the driver shall update the value with the total number of sub-devices available. if count is greater than the number of sub-devices available, then the driver shall update the value with the correct number of sub-devices available.
phSubdevices – [in,out][optional][range(0, *pCount)] array of handle of sub-devices. if count is less than the number of sub-devices available, then driver shall only retrieve that number of sub-devices.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zeDeviceGetProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetProperties(ze_device_handle_t hDevice, ze_device_properties_t *pDeviceProperties)#
Retrieves properties of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clGetDeviceInfo
- Parameters:
hDevice – [in] handle of the device
pDeviceProperties – [in,out] query result for device properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pDeviceProperties
zeDeviceGetComputeProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetComputeProperties(ze_device_handle_t hDevice, ze_device_compute_properties_t *pComputeProperties)#
Retrieves compute properties of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clGetDeviceInfo
- Parameters:
hDevice – [in] handle of the device
pComputeProperties – [in,out] query result for compute properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pComputeProperties
zeDeviceGetModuleProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetModuleProperties(ze_device_handle_t hDevice, ze_device_module_properties_t *pModuleProperties)#
Retrieves module properties of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device
pModuleProperties – [in,out] query result for module properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pModuleProperties
zeDeviceGetCommandQueueGroupProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetCommandQueueGroupProperties(ze_device_handle_t hDevice, uint32_t *pCount, ze_command_queue_group_properties_t *pCommandQueueGroupProperties)#
Retrieves command queue group properties of the device.
Properties are reported for each physical command queue group available on the device.
Multiple calls to this function will return properties in the same order.
The order in which the properties are returned is defined by the command queue group’s ordinal.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
vkGetPhysicalDeviceQueueFamilyProperties
- Parameters:
hDevice – [in] handle of the device
pCount – [in,out] pointer to the number of available command queue groups. If count is zero, then the driver shall update the value with the total number of command queue groups available. If count is less than the number of command queue groups available, then the driver shall only retrieve command queue group properties for the given number of command queue groups. If count is greater than or equal to the number of command queue groups available, then the driver shall retrieve command queue group properties for all available command queue groups.
pCommandQueueGroupProperties – [in,out][optional][range(0, *pCount)] array of query results for command queue group properties. If count is less than the number of command queue groups available, then the driver shall only retrieve that number of command queue group properties. The order of properties in the array corresponds to the command queue group ordinal.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zeDeviceGetMemoryProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetMemoryProperties(ze_device_handle_t hDevice, uint32_t *pCount, ze_device_memory_properties_t *pMemProperties)#
Retrieves local memory properties of the device.
Properties are reported for each physical memory type supported by the device.
Multiple calls to this function will return properties in the same order.
The order in which the properties are returned defines the device’s local memory ordinal.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clGetDeviceInfo
- Parameters:
hDevice – [in] handle of the device
pCount – [in,out] pointer to the number of memory properties. if count is zero, then the driver shall update the value with the total number of memory properties available. if count is greater than the number of memory properties available, then the driver shall update the value with the correct number of memory properties available.
pMemProperties – [in,out][optional][range(0, *pCount)] array of query results for memory properties. if count is less than the number of memory properties available, then driver shall only retrieve that number of memory properties.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zeDeviceGetMemoryAccessProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetMemoryAccessProperties(ze_device_handle_t hDevice, ze_device_memory_access_properties_t *pMemAccessProperties)#
Retrieves memory access properties of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clGetDeviceInfo
- Parameters:
hDevice – [in] handle of the device
pMemAccessProperties – [in,out] query result for memory access properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pMemAccessProperties
zeDeviceGetCacheProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetCacheProperties(ze_device_handle_t hDevice, uint32_t *pCount, ze_device_cache_properties_t *pCacheProperties)#
Retrieves cache properties of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
Remark
Analogues
clGetDeviceInfo
- Parameters:
hDevice – [in] handle of the device
pCount – [in,out] pointer to the number of cache properties. if count is zero, then the driver shall update the value with the total number of cache properties available. if count is greater than the number of cache properties available, then the driver shall update the value with the correct number of cache properties available.
pCacheProperties – [in,out][optional][range(0, *pCount)] array of query results for cache properties. if count is less than the number of cache properties available, then driver shall only retrieve that number of cache properties.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pCount
zeDeviceGetImageProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetImageProperties(ze_device_handle_t hDevice, ze_device_image_properties_t *pImageProperties)#
Retrieves image properties of the device.
See zeImageGetProperties for format-specific capabilities.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device
pImageProperties – [in,out] query result for image properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pImageProperties
zeDeviceGetExternalMemoryProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetExternalMemoryProperties(ze_device_handle_t hDevice, ze_device_external_memory_properties_t *pExternalMemoryProperties)#
Retrieves external memory import and export of the device.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device
pExternalMemoryProperties – [in,out] query result for external memory properties
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pExternalMemoryProperties
zeDeviceGetP2PProperties#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetP2PProperties(ze_device_handle_t hDevice, ze_device_handle_t hPeerDevice, ze_device_p2p_properties_t *pP2PProperties)#
Retrieves peer-to-peer properties between one device and a peer devices.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device performing the access
hPeerDevice – [in] handle of the peer device with the allocation
pP2PProperties – [in,out] Peer-to-Peer properties between source and peer device
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevicenullptr == hPeerDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pP2PProperties
zeDeviceCanAccessPeer#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceCanAccessPeer(ze_device_handle_t hDevice, ze_device_handle_t hPeerDevice, ze_bool_t *value)#
Queries if one device can directly access peer device allocations.
Any device can access any other device within a node through a scale-up fabric.
The following are conditions for CanAccessPeer query.
If both device and peer device are the same then return true.
If both sub-device and peer sub-device are the same then return true.
If both are sub-devices and share the same parent device then return true.
If both device and remote device are connected by a direct or indirect scale-up fabric or over PCIe (same root complex or shared PCIe switch) then true.
If both sub-device and remote parent device (and vice-versa) are connected by a direct or indirect scale-up fabric or over PCIe (same root complex or shared PCIe switch) then true.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device performing the access
hPeerDevice – [in] handle of the peer device with the allocation
value – [out] returned access capability
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevicenullptr == hPeerDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == value
zeDeviceGetStatus#
Added in version 1.0
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetStatus(ze_device_handle_t hDevice)#
Returns current status of the device.
Once a device is reset, this call will update the OS handle attached to the device handle.
The application may call this function from simultaneous threads with the same device handle.
The implementation of this function must be thread-safe.
- Parameters:
hDevice – [in] handle of the device
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
Device is available for use.
Device is lost; must be reset for use.
zeDeviceGetGlobalTimestamps#
Added in version 1.1
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetGlobalTimestamps(ze_device_handle_t hDevice, uint64_t *hostTimestamp, uint64_t *deviceTimestamp)#
Returns synchronized Host and device global timestamps.
The application may call this function from simultaneous threads with the same device handle.
The implementation of this function must be thread-safe.
The hostTimestamp value needs to return a sample from a RAW_MONOTONIC_CLOCK source that is not affected by system time changes or by software adjustments to the clock.
The hostTimestamp and deviceTimestamp values should be coordinated to be sampled at the same time/close together
- Parameters:
hDevice – [in] handle of the device
hostTimestamp – [out] value of the Host’s global timestamp in nanoseconds at the time of invoking the function.
deviceTimestamp – [out] value of the Device’s global timestamp in tick counts at the time of invoking the function. To get the devicetime stamp in nanoseconds, resolve the tick counts using the timestampValidBits as mask together with timerResolution members of the ze_device_properties_t structure. For example: deviceTimestampinNS = (deviceTimestamp & timestampValidBits) * 1/timerResolution.(when timer resolution is in cycle/sec)
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == hostTimestampnullptr == deviceTimestamp
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
The feature is not supported by the underlying platform.
zeDeviceGetRootDevice#
Added in version 1.7
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetRootDevice(ze_device_handle_t hDevice, ze_device_handle_t *phRootDevice)#
Retrieves the root-device of a device handle.
When the device handle passed does not belong to any root-device, nullptr is returned.
Multiple calls to this function will return the same device handle.
The root-device handle returned by this function does not have access automatically to the resources created with the associated sub-device, unless those resources have been created with a context explicitly containing both handles.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device object
phRootDevice – [in,out] parent root device.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == phRootDevice
zeDeviceSynchronize#
Added in version 1.14
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceSynchronize(ze_device_handle_t hDevice)#
Synchronizes all command queues related to the device.
The application may call this function from simultaneous threads with the same device handle.
The implementation of this function should be thread-safe.
This function blocks until all preceding submissions to all queues on the device are completed.
This function returns an error if device execution fails.
This function hangs indefinitely if the device is blocked on a non-signaled event.
- Parameters:
hDevice – [in] handle of the device
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
zeDeviceGetAggregatedCopyOffloadIncrementValue#
Added in version 1.15
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetAggregatedCopyOffloadIncrementValue(ze_device_handle_t hDevice, uint32_t *incrementValue)#
Returns unified increment value that can be used for Counter Based Events created with ze_event_counter_based_external_aggregate_storage_desc_t.
Value is applicable only to this specific device
It may be used, when user is not able define number of internal driver operations during given append call, for example dividing copy into multiple engines. More details can be found in programming guide.
- Parameters:
hDevice – [in] handle of the device
incrementValue – [out] increment value that can be used for Event creation
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == incrementValue
zeDeviceGetRuntimeRequirements#
Added in version 1.16
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetRuntimeRequirements(ze_device_handle_t hDevice, const void *pObjDesc, size_t *pSize, char *pRequirements)#
Gathers null-terminated plain text representation of runtime requirements for provided object.
To gather requirements for a given object (e.g. an L0 module or graph), pObjDesc must point to a structure (e.g. ze_runtime_requirements_module_desc_t or ze_runtime_requirements_graph_desc_t) describing object for which the requirements are being retrieved.
Requirements are copied to user-provided memory pointed to by pRequirements and pSize is set to represent the actual written length of the requirements string in bytes.
The caller can pass nullptr for pRequirements when querying only for size.
The application may call this function from simultaneous threads.
- Parameters:
hDevice – [in] handle of the device
pObjDesc – [in] describes the object for which the requirements are to be gathered
pSize – [in,out] size of requirements string in bytes.
pRequirements – [in,out][optional] holds results of the query.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pObjDescnullptr == pSize(nullptr != pRequirements) && (nullptr == pSize).
(nullptr != pRequirements) && (*pSize < requiredSize).
Successfully gathered requirements for provided source (e.g. module).
ZE_RESULT_ERROR_INVALID_ARGUMENT
Provided hDevice handle is invalid
pObjDesc doesn’t point to a structure that describes a supported object for which the requirements can be gathered.
zeDeviceGetRuntimeRequirementsKey#
Added in version 1.16
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetRuntimeRequirementsKey(ze_device_handle_t hDevice, const char **pKey)#
Retrieves requirements producer key.
Retrieves null-terminated plain text that represents the producer of requirements (Example string: ‘INTEL.L0.GPU’).
Useful for bookkeeping of the requirements on user side.
- Parameters:
hDevice – [in] handle of the device
pKey – [out] returned key
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pKey(nullptr == pKey).
Successfully retrieved the key.
zeDeviceValidateRuntimeRequirements#
Added in version 1.16
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceValidateRuntimeRequirements(ze_device_handle_t hDevice, const char *pRequirements, ze_validate_runtime_requirements_output_t *pOut)#
Validates runtime requirements.
To validate existing requirements (e.g. cached from previous runs), requirements string should be passed as pRequirements.
- Parameters:
hDevice – [in] handle of the device
pRequirements – [in] requirements to be validated. Requirements should be null-terminated plain text representation of runtime requirements previously retrieved from the device.
pOut – [in][out] Output of the validation call.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pRequirementsnullptr == pOut(nullptr == pRequirements).
(nullptr == pOut).
Validation call succeeded and result of the validation is available in pOut.
ZE_RESULT_ERROR_INVALID_ARGUMENT
Provided hDevice handle is invalid
zeDeviceGetCounterBasedEventMaxValue#
Added in version 1.17
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetCounterBasedEventMaxValue(ze_device_handle_t hDevice, uint64_t *maxValue)#
Returns maximum value supported by the driver for Counter Based Events created with externally managed counter storage (see ze_event_counter_based_external_sync_allocation_desc_t and ze_event_counter_based_external_aggregate_storage_desc_t).
Value is applicable only to this specific device.
User must query this value before creating a Counter Based Event with externally managed counter storage and ensure that
completionValueprovided in the descriptor does not exceed it.User must also ensure that any value written by the application to
deviceAddressorhostAddressof an externally managed counter storage (including values aggregated underdeviceAddressof ze_event_counter_based_external_aggregate_storage_desc_t) does not exceed this maximum at any point in time.Driver does not validate values written by the user to externally managed memory; exceeding this maximum results in undefined behavior.
zeEventCounterBasedCreate returns ZE_RESULT_ERROR_INVALID_ARGUMENT if the descriptor specifies a value greater than the value returned by this query.
- Parameters:
hDevice – [in] handle of the device
maxValue – [out] maximum value that may appear under externally managed counter storage and that may be passed as
completionValuewhen creating a Counter Based Event
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == maxValue
ZE_RESULT_ERROR_INVALID_ARGUMENT
Provided invalid hDevice or maxValue pointer
zeDeviceGetCompilerInfo#
Added in version 1.18
-
ZE_APIEXPORT ze_result_t ZE_APICALL zeDeviceGetCompilerInfo(ze_device_handle_t hDevice, ze_device_compiler_info_t paramName, const void *pNext, size_t *pSize, void *pData)#
Retrieves compiler-specific information for the device, selected by an enumerated type.
This query is scoped to compiler-specific data.
The paramName parameter selects data to be queried. Data layout is documented along with respective paramName enum entry.
The application may call this function from simultaneous threads.
The implementation of this function should be lock-free.
- Parameters:
hDevice – [in] handle of the device
paramName – [in] compiler-info to return
pNext – [in][optional] additional extensions passed to the function
pSize – [in,out] pointer to the size in bytes of the result. If size is zero, then the driver shall update the value with the total size in bytes needed. If size is less than the total size needed, then the driver shall update the value with the required size and shall not write to pData.
pData – [in,out][optional][range(0, *pSize)] pointer to the result buffer. If pData is nullptr, then only the required size is returned in pSize.
- Returns:
ZE_RESULT_ERROR_INVALID_NULL_HANDLE
nullptr == hDevice
ZE_RESULT_ERROR_INVALID_ENUMERATION
ZE_DEVICE_COMPILER_INFO_DRIVER_OPTIONS < paramName
ZE_RESULT_ERROR_INVALID_NULL_POINTER
nullptr == pSize
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
an extension passed via pNext is not supported
Device Enums#
ze_device_type_t#
Added in version 1.0
-
enum ze_device_type_t#
Supported device types.
Values:
-
enumerator ZE_DEVICE_TYPE_GPU#
Graphics Processing Unit.
-
enumerator ZE_DEVICE_TYPE_CPU#
Central Processing Unit.
-
enumerator ZE_DEVICE_TYPE_FPGA#
Field Programmable Gate Array.
-
enumerator ZE_DEVICE_TYPE_MCA#
Memory Copy Accelerator.
-
enumerator ZE_DEVICE_TYPE_VPU#
Vision Processing Unit.
-
enumerator ZE_DEVICE_TYPE_FORCE_UINT32#
Value marking end of ZE_DEVICE_TYPE_* ENUMs.
-
enumerator ZE_DEVICE_TYPE_GPU#
ze_device_property_flags_t#
Added in version 1.0
-
enum ze_device_property_flag_t#
Values:
-
enumerator ZE_DEVICE_PROPERTY_FLAG_INTEGRATED#
Device is integrated with the Host.
-
enumerator ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE#
Device handle used for query represents a sub-device.
-
enumerator ZE_DEVICE_PROPERTY_FLAG_ECC#
Device supports error correction memory access.
-
enumerator ZE_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING#
Device supports on-demand page-faulting.
-
enumerator ZE_DEVICE_PROPERTY_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_PROPERTY_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_PROPERTY_FLAG_INTEGRATED#
ze_device_dp_capability_flags_t#
Added in version 1.16
-
enum ze_device_dp_capability_flag_t#
Values:
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_NON_SYSTOLIC_DPA4_SIMD_ALL#
Supports vector dot product instruction.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_DPAS_SIMD8#
Supports sytolic dot product with 8 SIMD lanes.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_DPAS_SIMD16#
Supports sytolic dot product with 16 SIMD lanes.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_BDPAS_SIMD16#
Supports sytolic dot product with block scaling support with 16 SIMD lanes.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_DPAS_DEPTH4#
Supports 4 deep systolic for DPAS dot product.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_DPAS_DEPTH8#
Supports 8 deep systolic for DPAS dot product.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_BDPAS_DEPTH8#
Supports 8 deep systolic for BDPAS dot product.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_OUTPUT_MATRIX_ROWCOUNT_UPTO8#
Supports output matrix row count upto 8.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_SYSTOLIC_OUTPUT_MATRIX_ROWCOUNT_FIXED8#
Restricts output matrix row count to 8.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_DP_CAPABILITY_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_DP_CAPABILITY_FLAG_DEVICE_NON_SYSTOLIC_DPA4_SIMD_ALL#
ze_device_input_data_type_flags_t#
Added in version 1.16
-
enum ze_device_input_data_type_flag_t#
Values:
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_TYPE_NONE#
No data types available for the supported dot product operation.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_ZE_DEVICE_INPUT_DATA_INT8_PACK4_PER_SIMD_LANE#
Supports int8 data type with 4 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_INT4_PACK8_PER_SIMD_LANE#
Supports int4 data type with 8 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_INT2_PACK8_PER_SIMD_LANE#
Supports int2 data type with 8 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_TF32_PACK1_PER_SIMD_LANE#
Supports tf32 data type with 1 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_FP16_PACK2_PER_SIMD_LANE#
Supports fp16 data type with 2 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_BF16_PACK2_PER_SIMD_LANE#
Supports bf16 data type with 2 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_FP8_PACK4_PER_SIMD_LANE#
Supports fp8 data type with 4 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_BF8_PACK4_PER_SIMD_LANE#
Supports bf8 data type with 4 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_E2M1_PACK8_PER_SIMD_LANE#
Supports e2m1 data type with 8 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_E3M0_PACK8_PER_SIMD_LANE#
Supports e3m0 data type with 8 packed data elements per SIMD lane.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_INT8_PACK4_PER_SIMD_LANE#
lane.This is exclusively for DP4V dot product support
Supports 8bit integer data type with 4 packed data elements per SIMD
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_SCALING_UINT8#
product support.
Supports uint8 data type support for scaling, exclusive to BDPAS dot
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_SCALING_UE5M3#
product support.
Supports ue5m3 data type support for scaling, exclusive to BDPAS dot
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_SCALING_UE4M3#
product support.
Supports ue4m3 data type support for scaling, exclusive to BDPAS dot
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_INPUT_DATA_TYPE_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_INPUT_DATA_TYPE_FLAG_DEVICE_INPUT_DATA_TYPE_NONE#
ze_device_output_data_type_flags_t#
Added in version 1.16
-
enum ze_device_output_data_type_flag_t#
Values:
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_DEVICE_OUTPUT_DATA_INT32#
Supports signed and unsigned 32bit integer data type for output.
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_DEVICE_OUTPUT_DATA_FP32#
Supports fp32 data type for output.
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_DEVICE_OUTPUT_DATA_FP16#
Supports fp16 data type for output.
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_DEVICE_OUTPUT_DATA_BF16#
Supports bf16 data type for output.
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_OUTPUT_DATA_TYPE_FLAG_DEVICE_OUTPUT_DATA_INT32#
ze_device_module_flags_t#
Added in version 1.0
-
enum ze_device_module_flag_t#
Values:
-
enumerator ZE_DEVICE_MODULE_FLAG_FP16#
Device supports 16-bit floating-point operations.
-
enumerator ZE_DEVICE_MODULE_FLAG_FP64#
Device supports 64-bit floating-point operations.
-
enumerator ZE_DEVICE_MODULE_FLAG_INT64_ATOMICS#
Device supports 64-bit atomic operations.
-
enumerator ZE_DEVICE_MODULE_FLAG_DP4A#
Device supports four component dot product and accumulate operations.
-
enumerator ZE_DEVICE_MODULE_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_MODULE_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_MODULE_FLAG_FP16#
ze_device_fp_flags_t#
Added in version 1.0
-
enum ze_device_fp_flag_t#
Values:
-
enumerator ZE_DEVICE_FP_FLAG_DENORM#
Supports denorms.
-
enumerator ZE_DEVICE_FP_FLAG_INF_NAN#
Supports INF and quiet NaNs.
-
enumerator ZE_DEVICE_FP_FLAG_ROUND_TO_NEAREST#
Supports rounding to nearest even rounding mode.
-
enumerator ZE_DEVICE_FP_FLAG_ROUND_TO_ZERO#
Supports rounding to zero.
-
enumerator ZE_DEVICE_FP_FLAG_ROUND_TO_INF#
Supports rounding to both positive and negative INF.
-
enumerator ZE_DEVICE_FP_FLAG_FMA#
Supports IEEE754-2008 fused multiply-add.
-
enumerator ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT#
Supports rounding as defined by IEEE754 for divide and sqrt operations.
-
enumerator ZE_DEVICE_FP_FLAG_SOFT_FLOAT#
Uses software implementation for basic floating-point operations.
-
enumerator ZE_DEVICE_FP_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_FP_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_FP_FLAG_DENORM#
ze_command_queue_group_property_flags_t#
Added in version 1.0
-
enum ze_command_queue_group_property_flag_t#
Values:
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE#
Command queue group supports enqueuing compute commands.
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY#
Command queue group supports enqueuing copy commands.
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS#
Command queue group supports cooperative kernels. See zeCommandListAppendLaunchCooperativeKernel for more details.
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_METRICS#
Command queue groups supports metric queries.
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_FORCE_UINT32#
Value marking end of ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_* ENUMs.
-
enumerator ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE#
ze_device_memory_property_flags_t#
Added in version 1.0
ze_memory_access_cap_flags_t#
Added in version 1.0
-
enum ze_memory_access_cap_flag_t#
Values:
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_RW#
Supports load/store access.
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_ATOMIC#
Supports atomic access.
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT#
Supports concurrent access.
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT_ATOMIC#
Supports concurrent atomic access.
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_FORCE_UINT32#
Value marking end of ZE_MEMORY_ACCESS_CAP_FLAG_* ENUMs.
-
enumerator ZE_MEMORY_ACCESS_CAP_FLAG_RW#
ze_device_cache_property_flags_t#
Added in version 1.0
ze_device_p2p_property_flags_t#
Added in version 1.0
-
enum ze_device_p2p_property_flag_t#
Values:
-
enumerator ZE_DEVICE_P2P_PROPERTY_FLAG_ACCESS#
Device supports access between peer devices.
-
enumerator ZE_DEVICE_P2P_PROPERTY_FLAG_ATOMICS#
Device supports atomics between peer devices.
-
enumerator ZE_DEVICE_P2P_PROPERTY_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_P2P_PROPERTY_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_P2P_PROPERTY_FLAG_ACCESS#
ze_device_event_properties_flags_t#
Added in version 1.15
-
enum ze_device_event_properties_flag_t#
Values:
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_COUNTER_BASED_EXTERNAL_AGGREGATE_STORAGE#
Counter-based Event with external aggregate storage supported.
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_COUNTER_BASED_IPC#
Counter-based Event IPC sharing supported.
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_COUNTER_BASED_EXTERNAL_SYNC_ALLOCATION#
Counter-based Event with external sync allocation supported.
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_COUNTER_BASED_EXTERNAL_INTERRUPT_WAIT#
Counter-based Event waiting for external interrupt id supported.
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_FORCE_UINT32#
Value marking end of ZE_DEVICE_EVENT_PROPERTIES_FLAG_* ENUMs.
-
enumerator ZE_DEVICE_EVENT_PROPERTIES_FLAG_COUNTER_BASED_EXTERNAL_AGGREGATE_STORAGE#
ze_validate_runtime_requirements_result_t#
Added in version 1.16
-
enum ze_validate_runtime_requirements_result_t#
Result of runtime requirements validation.
Values:
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_NOT_APPLICABLE#
Provided requirements are not applicable to underlying device.
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_REQUIREMENTS_MET#
Provided requirements are met and optimal.
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_REQUIREMENTS_MET_RECOMPILATION_ADVISABLE#
Provided requirements are met, but recompilation is advisable.
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_REQUIREMENTS_NOT_MET#
Requirements are not met.
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_FORCE_UINT32#
Value marking end of ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_* ENUMs.
-
enumerator ZE_VALIDATE_RUNTIME_REQUIREMENTS_RESULT_NOT_APPLICABLE#
ze_device_readonly_memory_capability_t#
Added in version 1.17
-
enum ze_device_readonly_memory_capability_t#
Read-only memory page capability values.
Values:
-
enumerator ZE_DEVICE_READONLY_MEMORY_CAPABILITY_NONE#
Read-only attribute has no effect; the driver does not act on it.
-
enumerator ZE_DEVICE_READONLY_MEMORY_CAPABILITY_HINT#
Read-only attribute is a performance hint to the OS; writes may still succeed without fault.
-
enumerator ZE_DEVICE_READONLY_MEMORY_CAPABILITY_ENFORCED#
Read-only attribute is hardware-enforced; writes to read-only pages will cause a device fault.
-
enumerator ZE_DEVICE_READONLY_MEMORY_CAPABILITY_FORCE_UINT32#
Value marking end of ZE_DEVICE_READONLY_MEMORY_CAPABILITY_* ENUMs.
-
enumerator ZE_DEVICE_READONLY_MEMORY_CAPABILITY_NONE#
Device Structures#
ze_device_properties_t#
Added in version 1.0
-
struct ze_device_properties_t#
Device properties queried using zeDeviceGetProperties.
Public Members
-
ze_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_type_t type#
[out] generic device type
-
uint32_t vendorId#
[out] vendor id from PCI configuration
-
uint32_t deviceId#
[out] device id from PCI configuration. Note, the device id uses little-endian format.
-
ze_device_property_flags_t flags#
[out] 0 (none) or a valid combination of ze_device_property_flag_t
-
uint32_t subdeviceId#
[out] sub-device id. Only valid if ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE is set.
-
uint32_t coreClockRate#
[out] Clock rate for device core.
-
uint64_t maxMemAllocSize#
[out] Maximum memory allocation size.
-
uint32_t maxHardwareContexts#
[out] Maximum number of logical hardware contexts.
-
uint32_t maxCommandQueuePriority#
[out] Maximum priority for command queues. Higher value is higher priority.
-
uint32_t numThreadsPerEU#
[out] Maximum number of threads per EU.
-
uint32_t physicalEUSimdWidth#
[out] The physical EU simd width.
-
uint32_t numEUsPerSubslice#
[out] Maximum number of EUs per sub-slice.
-
uint32_t numSubslicesPerSlice#
[out] Maximum number of sub-slices per slice.
-
uint32_t numSlices#
[out] Maximum number of slices.
-
uint64_t timerResolution#
[out]
- Deprecated:
when using ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES since 1.17: Use ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2 to obtain timerResolution in cycles/sec for profiling and timestamps.
-
uint32_t timestampValidBits#
[out] Returns the number of valid bits in the timestamp value. (i.e can be used to calculate the max value of the device timestamp in hardware or get the mask of valid bits in the timestamp value). timestampValidBits may or may not be same as the kernelTimestampValidBits as they may be tracked using different register sizes which are platform specific.
-
uint32_t kernelTimestampValidBits#
[out] Returns the number of valid bits in the kernel timestamp values. (i.e can beused to calculate the max value of the kernel timestamp in hardware or get the mask of valid bits in the kernel timestamp value).
-
ze_device_uuid_t uuid#
[out] universal unique identifier. Note: Subdevices will have their own uuid.
-
char name[ZE_MAX_DEVICE_NAME]#
[out] Device name
-
ze_structure_type_t stype#
ze_device_thread_t#
Added in version 1.0
-
struct ze_device_thread_t#
Device thread identifier.
Public Members
-
uint32_t slice#
[in,out] the slice number. Must be
UINT32_MAX(all) or less than thenumSlicesmember of ze_device_properties_t.
-
uint32_t subslice#
[in,out] the sub-slice number within its slice. Must be
UINT32_MAX(all) or less than thenumSubslicesPerSlicemember of ze_device_properties_t.
-
uint32_t eu#
[in,out] the EU number within its sub-slice. Must be
UINT32_MAX(all) or less than thenumEUsPerSubslicemember of ze_device_properties_t.
-
uint32_t thread#
[in,out] the thread number within its EU. Must be
UINT32_MAX(all) or less than thenumThreadsPerEUmember of ze_device_properties_t.
-
uint32_t slice#
ze_device_compute_properties_t#
Added in version 1.0
-
struct ze_device_compute_properties_t#
Device compute properties queried using zeDeviceGetComputeProperties.
Public Members
-
ze_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).
-
uint32_t maxTotalGroupSize#
[out] Maximum items per compute group. (groupSizeX * groupSizeY * groupSizeZ) <= maxTotalGroupSize
-
uint32_t maxGroupSizeX#
[out] Maximum items for X dimension in group
-
uint32_t maxGroupSizeY#
[out] Maximum items for Y dimension in group
-
uint32_t maxGroupSizeZ#
[out] Maximum items for Z dimension in group
-
uint32_t maxGroupCountX#
[out] Maximum groups that can be launched for x dimension
-
uint32_t maxGroupCountY#
[out] Maximum groups that can be launched for y dimension
-
uint32_t maxGroupCountZ#
[out] Maximum groups that can be launched for z dimension
[out] Maximum shared local memory per group.
-
uint32_t numSubGroupSizes#
[out] Number of subgroup sizes supported. This indicates number of entries in subGroupSizes.
-
uint32_t subGroupSizes[ZE_SUBGROUPSIZE_COUNT]#
[out] Size group sizes supported.
-
ze_structure_type_t stype#
ze_native_kernel_uuid_t#
Added in version 1.0
ze_device_module_properties_t#
Added in version 1.0
-
struct ze_device_module_properties_t#
Device module properties queried using zeDeviceGetModuleProperties.
Public Members
-
ze_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).
-
uint32_t spirvVersionSupported#
[out] Maximum supported SPIR-V version. Returns zero if SPIR-V is not supported. Contains major and minor attributes, use ZE_MAJOR_VERSION and ZE_MINOR_VERSION.
-
ze_device_module_flags_t flags#
[out] 0 or a valid combination of ze_device_module_flag_t
-
ze_device_fp_flags_t fp16flags#
[out] Capabilities for half-precision floating-point operations. returns 0 (if ZE_DEVICE_MODULE_FLAG_FP16 is not set) or a combination of ze_device_fp_flag_t.
-
ze_device_fp_flags_t fp32flags#
[out] Capabilities for single-precision floating-point operations. returns a combination of ze_device_fp_flag_t.
-
ze_device_fp_flags_t fp64flags#
[out] Capabilities for double-precision floating-point operations. returns 0 (if ZE_DEVICE_MODULE_FLAG_FP64 is not set) or a combination of ze_device_fp_flag_t.
-
uint32_t maxArgumentsSize#
[out] Maximum kernel argument size that is supported.
-
uint32_t printfBufferSize#
[out] Maximum size of internal buffer that holds output of printf calls from kernel.
-
ze_native_kernel_uuid_t nativeKernelSupported#
[out] Compatibility UUID of supported native kernel. UUID may or may not be the same across driver release, devices, or operating systems. Application is responsible for ensuring UUID matches before creating module using previously created native kernel.
-
ze_structure_type_t stype#
ze_command_queue_group_properties_t#
Added in version 1.0
-
struct ze_command_queue_group_properties_t#
Command queue group properties queried using zeDeviceGetCommandQueueGroupProperties.
Public Members
-
ze_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_command_queue_group_property_flags_t flags#
[out] 0 (none) or a valid combination of ze_command_queue_group_property_flag_t
-
size_t maxMemoryFillPatternSize#
[out] maximum
pattern_sizesupported by command queue group. See zeCommandListAppendMemoryFill for more details.
-
uint32_t numQueues#
[out] the number of physical engines within the group.
-
ze_structure_type_t stype#
ze_device_memory_properties_t#
Added in version 1.0
-
struct ze_device_memory_properties_t#
Device local memory properties queried using zeDeviceGetMemoryProperties.
Public Members
-
ze_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_memory_property_flags_t flags#
[out] 0 (none) or a valid combination of ze_device_memory_property_flag_t
-
uint32_t maxClockRate#
[out] Maximum clock rate for device memory.
-
uint32_t maxBusWidth#
[out] Maximum bus width between device and memory.
-
uint64_t totalSize#
[out] Total memory size in bytes that is available to the device.
-
char name[ZE_MAX_DEVICE_NAME]#
[out] Memory name
-
ze_structure_type_t stype#
ze_device_memory_access_properties_t#
Added in version 1.0
-
struct ze_device_memory_access_properties_t#
Device memory access properties queried using zeDeviceGetMemoryAccessProperties.
Public Members
-
ze_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_memory_access_cap_flags_t hostAllocCapabilities#
[out] host memory capabilities. returns 0 (unsupported) or a combination of ze_memory_access_cap_flag_t.
-
ze_memory_access_cap_flags_t deviceAllocCapabilities#
[out] device memory capabilities. returns 0 (unsupported) or a combination of ze_memory_access_cap_flag_t.
[out] shared, single-device memory capabilities. returns 0 (unsupported) or a combination of ze_memory_access_cap_flag_t.
[out] shared, cross-device memory capabilities. returns 0 (unsupported) or a combination of ze_memory_access_cap_flag_t.
[out] shared, system memory capabilities. returns 0 (unsupported) or a combination of ze_memory_access_cap_flag_t.
-
ze_structure_type_t stype#
ze_device_cache_properties_t#
Added in version 1.0
-
struct ze_device_cache_properties_t#
Device cache properties queried using zeDeviceGetCacheProperties.
Public Members
-
ze_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_cache_property_flags_t flags#
[out] 0 (none) or a valid combination of ze_device_cache_property_flag_t
-
size_t cacheSize#
[out] Per-cache size, in bytes
-
ze_structure_type_t stype#
ze_device_image_properties_t#
Added in version 1.0
-
struct ze_device_image_properties_t#
Device image properties queried using zeDeviceGetImageProperties.
Public Members
-
ze_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).
-
uint32_t maxImageDims1D#
[out] Maximum image dimensions for 1D resources. if 0, then 1D images are unsupported.
-
uint32_t maxImageDims2D#
[out] Maximum image dimensions for 2D resources. if 0, then 2D images are unsupported.
-
uint32_t maxImageDims3D#
[out] Maximum image dimensions for 3D resources. if 0, then 3D images are unsupported.
-
uint64_t maxImageBufferSize#
[out] Maximum image buffer size in bytes. if 0, then buffer images are unsupported.
-
uint32_t maxImageArraySlices#
[out] Maximum image array slices. if 0, then image arrays are unsupported.
-
uint32_t maxSamplers#
[out] Max samplers that can be used in kernel. if 0, then sampling is unsupported.
-
uint32_t maxReadImageArgs#
[out] Returns the maximum number of simultaneous image objects that can be read from by a kernel. if 0, then reading images is unsupported.
-
uint32_t maxWriteImageArgs#
[out] Returns the maximum number of simultaneous image objects that can be written to by a kernel. if 0, then writing images is unsupported.
-
ze_structure_type_t stype#
ze_device_external_memory_properties_t#
Added in version 1.0
-
struct ze_device_external_memory_properties_t#
Device external memory import and export properties.
Public Members
-
ze_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_external_memory_type_flags_t memoryAllocationImportTypes#
[out] Supported external memory import types for memory allocations.
-
ze_external_memory_type_flags_t memoryAllocationExportTypes#
[out] Supported external memory export types for memory allocations.
-
ze_external_memory_type_flags_t imageImportTypes#
[out] Supported external memory import types for images.
-
ze_external_memory_type_flags_t imageExportTypes#
[out] Supported external memory export types for images.
-
ze_structure_type_t stype#
ze_device_p2p_properties_t#
Added in version 1.0
-
struct ze_device_p2p_properties_t#
Device peer-to-peer properties queried using zeDeviceGetP2PProperties.
Public Members
-
ze_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_p2p_property_flags_t flags#
[out] 0 (none) or a valid combination of ze_device_p2p_property_flag_t
-
ze_structure_type_t stype#
ze_runtime_requirements_module_desc_t#
Added in version 1.16
-
struct ze_runtime_requirements_module_desc_t#
Describes the module for which runtime requirements are being gathered. This structure is accepted as pObjDesc to zeDeviceGetRuntimeRequirements. This structure requires ZE_extension_driver_ddi_handles to be supported by the driver.
Public Members
-
ze_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).
-
ze_module_handle_t requirementsSrc#
[in] Module for which the requirements are being gathered
-
ze_structure_type_t stype#
ze_runtime_requirements_graph_desc_t#
Added in version 1.16
-
struct ze_runtime_requirements_graph_desc_t#
Describes the graph for which runtime requirements are being gathered. This structure is accepted as pObjDesc to zeDeviceGetRuntimeRequirements. This structure requires ZE_extension_driver_ddi_handles to be supported by the driver.
Public Members
-
ze_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).
-
ze_graph_handle_t requirementsSrc#
[in] Graph for which the requirements are being gathered
-
ze_structure_type_t stype#
ze_validate_runtime_requirements_output_t#
Added in version 1.16
-
struct ze_validate_runtime_requirements_output_t#
Output of zeDeviceValidateRuntimeRequirements.
Public Members
-
ze_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_validate_runtime_requirements_result_t result#
[out] Result of the validation call.
-
ze_structure_type_t stype#
ze_compiler_name_version_t#
Added in version 1.18
-
struct ze_compiler_name_version_t#
Name and version entry returned for the OpenCL C compiler-info lists.