Device Health Extension

Device Health Extension#

Introduced in Level Zero version 1.18

API#

Device Health Overview#

Device health represents a comprehensive assessment of a device’s reliability and expected performance in upcoming operations. The health status is stored in non-volatile memory (NVM) and persists across device resets and firmware updates.

Example Usage#

Query Current Health Status:

zes_device_health_status_ext_t health;
ze_result_t result = zesDeviceGetHealthStatusExt(hDevice, &health);

if (result == ZE_RESULT_SUCCESS) {
    switch (health) {
        case ZES_DEVICE_HEALTH_STATUS_EXT_OK:
            // Device is healthy with no known issues
            break;
        case ZES_DEVICE_HEALTH_STATUS_EXT_WARNING:
            // Device may have issues, diagnostics recommended
            break;
        case ZES_DEVICE_HEALTH_STATUS_EXT_CRITICAL:
            // Device should not be used until maintenance is performed
            break;
        case ZES_DEVICE_HEALTH_STATUS_EXT_FAILED:
            // Permanent non-recoverable failure; FRU replacement required
            break;
    }
}

Set Health Status:

// After running diagnostics and confirming device is healthy
ze_result_t result = zesDeviceSetHealthStatusExt(hDevice, ZES_DEVICE_HEALTH_STATUS_EXT_OK);

if (result == ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS) {
    // User does not have permissions to set health status
}