Diagnostics
Overview
These APIs are for diagnostics More…
// global functions XPUM_API xpum_result_t xpumRunDiagnostics( xpum_device_id_t deviceId, xpum_diag_level_t level ); XPUM_API xpum_result_t xpumRunMultipleSpecificDiagnostics( xpum_device_id_t deviceId, xpum_diag_task_type_t types[], int count ); XPUM_API xpum_result_t xpumRunDiagnosticsByGroup( xpum_group_id_t groupId, xpum_diag_level_t level ); XPUM_API xpum_result_t xpumRunMultipleSpecificDiagnosticsByGroup( xpum_group_id_t groupId, xpum_diag_task_type_t types[], int count ); XPUM_API xpum_result_t xpumGetDiagnosticsResult( xpum_device_id_t deviceId, xpum_diag_task_info_t* result ); XPUM_API xpum_result_t xpumGetDiagnosticsResultByGroup( xpum_group_id_t groupId, xpum_diag_task_info_t resultList[], int* count ); XPUM_API xpum_result_t xpumGetDiagnosticsMediaCodecResult( xpum_device_id_t deviceId, xpum_diag_media_codec_metrics_t resultList[], int* count ); XPUM_API xpum_result_t xpumGetDiagnosticsXeLinkThroughputResult( xpum_device_id_t deviceId, xpum_diag_xe_link_throughput_t resultList[], int* count ); XPUM_API xpum_result_t xpumRunStress( xpum_device_id_t deviceId, uint32_t stressTime ); XPUM_API xpum_result_t xpumCheckStress( xpum_device_id_t deviceId, xpum_diag_task_info_t resultList[], int* count ); XPUM_API xpum_result_t xpumPrecheck( xpum_precheck_component_info_t resultList[], int* count, xpum_precheck_options options ); XPUM_API xpum_result_t xpumGetPrecheckErrorList( xpum_precheck_error_t resultList[], int* count );
Detailed Documentation
These APIs are for diagnostics
Global Functions
XPUM_API xpum_result_t xpumRunDiagnostics( xpum_device_id_t deviceId, xpum_diag_level_t level )
Run diagnostics on single device This function will return immediately. To get detailed information about diagnostics task, call xpumGetDiagnosticsResult.
Support Platform: Linux
Parameters:
deviceId |
IN: Device id |
level |
IN: The diagnostics level to run |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumRunMultipleSpecificDiagnostics( xpum_device_id_t deviceId, xpum_diag_task_type_t types[], int count )
Run multiple specific diagnostics on single device This function will return immediately. To get detailed information about diagnostics task, call xpumGetDiagnosticsResult.
Support Platform: Linux
Parameters:
deviceId |
IN: Device id |
types |
IN: The array to store diagnostics type |
count |
IN: The count of types |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumRunDiagnosticsByGroup( xpum_group_id_t groupId, xpum_diag_level_t level )
Run diagnostics on a group of devices This function will return immediately. To get detailed information about diagnostics task, call xpumGetDiagnosticsResultByGroup.
Support Platform: Linux
Parameters:
groupId |
IN: Group id |
level |
IN: The diagnostics level to run |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumRunMultipleSpecificDiagnosticsByGroup( xpum_group_id_t groupId, xpum_diag_task_type_t types[], int count )
Run multiple specific diagnostics on a group of devices This function will return immediately. To get detailed information about diagnostics task, call xpumGetDiagnosticsResultByGroup.
Support Platform: Linux
Parameters:
groupId |
IN: Group id |
types |
IN: The array to store diagnostics type |
count |
IN: The count of types |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumGetDiagnosticsResult( xpum_device_id_t deviceId, xpum_diag_task_info_t* result )
Get diagnostics result This function will return immediately. Caller may have to call this function multiple times until result indicates diagnostics job is finished.
Support Platform: Linux
Parameters:
deviceId |
IN: The device id to query diagnostics status |
result |
OUT: The status of diagnostics task run on device with deviceId |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumGetDiagnosticsResultByGroup( xpum_group_id_t groupId, xpum_diag_task_info_t resultList[], int* count )
Get diagnostics result by group.
Support Platform: Linux
Parameters:
groupId |
IN: The group id to query diagnostics status |
resultList |
OUT: The status of diagnostics task run on device of group with groupId |
count |
IN/OUT: The number of entries that resultList array can store, count should equal to or larger than device count of the group (groupid); when return, the count will store real number of entries returned by resultList |
Returns:
XPUM_OK if query successfully
XPUM_BUFFER_TOO_SMALL if count is smaller than device count of group
XPUM_API xpum_result_t xpumGetDiagnosticsMediaCodecResult( xpum_device_id_t deviceId, xpum_diag_media_codec_metrics_t resultList[], int* count )
Get diagnostics media codec result.
Support Platform: Linux
Parameters:
deviceId |
IN: The device id to query diagnostics media codec result |
resultList |
OUT: The result of diagnostics media codec result run on device with deviceId |
count |
IN/OUT: When resultList is NULL, count will be filled with the number of available entries, and return. When resultList is not NULL, count denotes the length of resultList, count should be equal to or larger than the number of available entries, when return, the count will store real number of entries returned by resultList |
Returns:
XPUM_OK if query successfully
XPUM_BUFFER_TOO_SMALL if count is smaller than needed
XPUM_API xpum_result_t xpumGetDiagnosticsXeLinkThroughputResult( xpum_device_id_t deviceId, xpum_diag_xe_link_throughput_t resultList[], int* count )
Get diagnostics xe link throughput result.
Support Platform: Linux
Parameters:
deviceId |
IN: The device id to query diagnostics xe link throughput result |
resultList |
OUT: The result of diagnostics xe link throughput result run on device with deviceId |
count |
IN/OUT: When resultList is NULL, count will be filled with the number of available entries, and return. When resultList is not NULL, count denotes the length of resultList, count should be equal to or larger than the number of available entries, when return, the count will store real number of entries returned by resultList |
Returns:
XPUM_OK if query successfully
XPUM_BUFFER_TOO_SMALL if count is smaller than needed
XPUM_API xpum_result_t xpumRunStress( xpum_device_id_t deviceId, uint32_t stressTime )
Run stress test on GPU This function will return immediately. To check status of a stress test , call xpumCheckStress.
Support Platform: Linux
Parameters:
deviceId |
IN: Device id, -1 means run stress test on all GPU devices |
stressTime |
IN: The time (in minutes) to run the stress test. 0 means unlimited time. |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumCheckStress( xpum_device_id_t deviceId, xpum_diag_task_info_t resultList[], int* count )
Check stress test status.
Support Platform: Linux
Parameters:
deviceId |
IN: The device id to check stress test status |
resultList |
OUT: The status of stress test run on device with deviceId |
count |
IN/OUT: When resultList is NULL, count will be filled with the number of available entries, and return. When resultList is not NULL, count denotes the length of resultList, count should be equal to or larger than the number of available entries, when return, the count will store real number of entries returned by resultList |
Returns:
xpum_result_t
XPUM_API xpum_result_t xpumPrecheck( xpum_precheck_component_info_t resultList[], int* count, xpum_precheck_options options )
Run precheck on the machine. It works even if XPUM is not initialized.
Support Platform: Linux
Parameters:
resultList |
OUT: The component list result of precheck |
count |
IN/OUT: The number of entries that resultList array can store, count should equal to or larger than component count; when return, the count will store real number of entries returned by resultList |
options |
IN: The options for precheck that can be used to set log source, time range, etc. |
Returns:
XPUM_OK if query successfully
XPUM_BUFFER_TOO_SMALL if count is smaller than component count
XPUM_API xpum_result_t xpumGetPrecheckErrorList( xpum_precheck_error_t resultList[], int* count )
Get precheck error type list. It works even if XPUM is not initialized.
Support Platform: Linux
Parameters:
resultList |
OUT: The supported precheck error list |
count |
IN/OUT: The number of entries that resultList array can store, count should equal to or larger than error type count; when return, the count will store real number of entries returned by resultList |
Returns:
XPUM_OK if query successfully
XPUM_BUFFER_TOO_SMALL if count is smaller than error type count