NPU Device Properties Extension#
Introduced in Level Zero version 1.18
API#
Macros
ZE_DEVICE_NPU_PROPERTIES_EXT_NAME
Enumerations
Structures
NPU Device Properties#
ze_device_npu_properties_ext_t exposes NPU-native device properties with
no clean analogue in the GPU-oriented ze_device_properties_t base struct.
It is returned via the pNext member of ze_device_properties_t from
zeDeviceGetProperties, and applies only when
ze_device_properties_t.type is ZE_DEVICE_TYPE_VPU.
The base ze_device_properties_t fields remain populated for backward compatibility. New consumers should prefer the NPU-native fields in this extension.
int8x8MacsPerTile reports MACs per tile at INT8×INT8 baseline precision.
Throughput at other precisions: 2× for INT8×INT4, 0.5× for FP16×FP16,
0.5× for INT16×INT8, 1× for INT16×INT4.
timestampFreqHz gives the device timestamp counter frequency in Hz,
used to convert raw device tick counts from zeDeviceGetGlobalTimestamps
and zeCommandListAppendWriteGlobalTimestamp into time durations.
compilerVersion is packed with ZE_MAKE_VERSION. Use
ZE_MAJOR_VERSION and ZE_MINOR_VERSION to extract its components.
The following pseudo-code demonstrates querying NPU device properties:
ze_device_npu_properties_ext_t npuProps = {}; npuProps.stype = ZE_STRUCTURE_TYPE_DEVICE_NPU_PROPERTIES_EXT; npuProps.pNext = nullptr; ze_device_properties_t devProps = {}; devProps.stype = ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES; devProps.pNext = &npuProps; zeDeviceGetProperties(hDevice, &devProps); // NPU-native fields are now populated in npuProps