Metric Programmable - Experimental

Contents

Metric Programmable - Experimental#

oneAPI Level Zero Specification - Version 1.18.31

Metric Programmable - Experimental Functions#

zetMetricProgrammableGetExp#

Added in version 1.9

ZE_APIEXPORT ze_result_t ZE_APICALL zetMetricProgrammableGetExp(zet_device_handle_t hDevice, uint32_t *pCount, zet_metric_programmable_exp_handle_t *phMetricProgrammables)#

Query and get the available metric programmable handles.

  • Query the available programmable handles using *pCount = 0.

  • Returns all programmable metric handles available in the device.

  • The application may call this function from simultaneous threads.

Parameters:
  • hDevice – [in] handle of the device

  • pCount – [in,out] pointer to the number of metric programmable handles. if count is zero, then the driver shall update the value with the total number of metric programmable handles available. if count is greater than the number of metric programmable handles available, then the driver shall update the value with the correct number of metric programmable handles available.

  • phMetricProgrammables – [in,out][optional][range(0, *pCount)] array of handle of metric programmables. if count is less than the number of metric programmables available, then driver shall only retrieve that number of metric programmables.

Returns:

zetMetricProgrammableGetPropertiesExp#

Added in version 1.9

ZE_APIEXPORT ze_result_t ZE_APICALL zetMetricProgrammableGetPropertiesExp(zet_metric_programmable_exp_handle_t hMetricProgrammable, zet_metric_programmable_exp_properties_t *pProperties)#

Get the properties of the metric programmable.

  • Returns the properties of the metric programmable.

Parameters:
  • hMetricProgrammable – [in] handle of the metric programmable

  • pProperties – [in,out] properties of the metric programmable

Returns:

zetMetricProgrammableGetParamInfoExp#

Added in version 1.9

ZE_APIEXPORT ze_result_t ZE_APICALL zetMetricProgrammableGetParamInfoExp(zet_metric_programmable_exp_handle_t hMetricProgrammable, uint32_t *pParameterCount, zet_metric_programmable_param_info_exp_t *pParameterInfo)#

Get the information about the parameters of the metric programmable.

  • Returns information about the parameters of the metric programmable handle.

Parameters:
  • hMetricProgrammable – [in] handle of the metric programmable

  • pParameterCount – [in,out] count of the parameters to retrieve parameter info. if value pParameterCount is greater than count of parameters available, then pParameterCount will be updated with count of parameters available. The count of parameters available can be queried using zetMetricProgrammableGetPropertiesExp.

  • pParameterInfo – [in,out][range(1, *pParameterCount)] array of parameter info. if parameterCount is less than the number of parameters available, then driver shall only retrieve that number of parameter info.

Returns:

zetMetricProgrammableGetParamValueInfoExp#

Added in version 1.9

ZE_APIEXPORT ze_result_t ZE_APICALL zetMetricProgrammableGetParamValueInfoExp(zet_metric_programmable_exp_handle_t hMetricProgrammable, uint32_t parameterOrdinal, uint32_t *pValueInfoCount, zet_metric_programmable_param_value_info_exp_t *pValueInfo)#

Get the information about the parameter value of the metric programmable.

  • Returns the value-information about the parameter at the specific ordinal of the metric programmable handle.

Parameters:
  • hMetricProgrammable – [in] handle of the metric programmable

  • parameterOrdinal – [in] ordinal of the parameter in the metric programmable

  • pValueInfoCount – [in,out] count of parameter value information to retrieve. if value at pValueInfoCount is greater than count of value info available, then pValueInfoCount will be updated with count of value info available. The count of parameter value info available can be queried using zetMetricProgrammableGetParamInfoExp.

  • pValueInfo – [in,out][range(1, *pValueInfoCount)] array of parameter value info. if pValueInfoCount is less than the number of value info available, then driver shall only retrieve that number of value info.

Returns:

Metric Programmable - Experimental Enums#

zet_metric_programmable_param_type_exp_t#

Added in version 1.9

enum zet_metric_programmable_param_type_exp_t#

Metric Programmable Parameter types.

Values:

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_DISAGGREGATION#

Metric is disaggregated.

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_LATENCY#

Metric for latency measurement.

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_NORMALIZATION_UTILIZATION#

Produces normalization in percent using raw_metric * 100 / cycles / HW instance_count.

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_NORMALIZATION_AVERAGE#

Produces normalization using raw_metric / HW instance_count.

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_NORMALIZATION_RATE#

Produces normalization average using raw_metric / timestamp.

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_NORMALIZATION_BYTES#

Produces normalization average using raw_metric * n bytes. (since v1.10)

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_GENERIC#

Generic Parameter type. Please refer the parameter’s description. (since v1.12)

enumerator ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_FORCE_UINT32#

Value marking end of ZET_METRIC_PROGRAMMABLE_PARAM_TYPE_EXP_* ENUMs.

Metric Programmable - Experimental Structures#

zet_metric_programmable_exp_properties_t#

Added in version 1.9

struct zet_metric_programmable_exp_properties_t#

Metric Programmable properties queried using zetMetricProgrammableGetPropertiesExp.

Public Members

zet_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).

char name[ZET_MAX_METRIC_PROGRAMMABLE_NAME_EXP]#

[out] metric programmable name

char description[ZET_MAX_METRIC_PROGRAMMABLE_DESCRIPTION_EXP]#

[out] metric programmable description

char component[ZET_MAX_METRIC_PROGRAMMABLE_COMPONENT_EXP]#

[out] metric programmable component

uint32_t tierNumber#

[out] tier number

uint32_t domain#

[out] metric domain number.

uint32_t parameterCount#

[out] number of parameters in the programmable

zet_metric_group_sampling_type_flags_t samplingType#

[out] metric sampling type. returns a combination of zet_metric_group_sampling_type_flag_t.

uint32_t sourceId#

[out] unique metric source identifier(within platform)to identify the HW block where the metric is collected.

zet_metric_programmable_param_info_exp_t#

Added in version 1.9

struct zet_metric_programmable_param_info_exp_t#

Metric Programmable parameter information.

Public Members

zet_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).

zet_metric_programmable_param_type_exp_t type#

[out] programmable parameter type

char name[ZET_MAX_METRIC_PROGRAMMABLE_PARAMETER_NAME_EXP]#

[out] metric programmable parameter name

zet_value_info_type_exp_t valueInfoType#

[out] value info type

zet_value_t defaultValue#

[out] default value for the parameter

uint32_t valueInfoCount#

[out] count of zet_metric_programmable_param_value_info_exp_t

zet_metric_programmable_param_value_info_exp_t#

Added in version 1.9

struct zet_metric_programmable_param_value_info_exp_t#

Metric Programmable parameter value information.

Public Members

zet_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).

zet_value_info_exp_t valueInfo#

[out] information about the parameter value

char description[ZET_MAX_METRIC_PROGRAMMABLE_VALUE_DESCRIPTION_EXP]#

[out] description about the value

zet_metric_programmable_param_value_exp_t#

Added in version 1.9

struct zet_metric_programmable_param_value_exp_t#

Metric Programmable parameter value.

Public Members

zet_value_t value#

[in] parameter value