Intel® Math Kernel Library 2018 Developer Reference - C
Error handling function called by BLAS, LAPACK, Vector Math, and Vector Statistics functions.
void xerbla( const char * srname, const int* info, const int len );
Name |
Type |
Description |
---|---|---|
srname |
const char* |
The name of the routine that called xerbla |
info |
const int* |
The position of the invalid parameter in the parameter list of the calling function or an error code |
len |
const int |
Length of the source string |
The xerbla function is an error handler for Intel MKL BLAS, LAPACK, Vector Math, and Vector Statistics functions. These functions call xerbla if an issue is encountered on entry or during the function execution.
xerbla operates as follows:
Prints a message that depends on the value of the info parameter as explained in the Error Messages Printed by xerbla table.
A specific message can differ from the listed messages in numeric values and/or function names.
Returns to the calling application.
Comments in the Netlib LAPACK reference code (http://www.netlib.org/lapack/explore-html/d1/dc0/_b_l_a_s_2_s_r_c_2xerbla_8f.html) suggest this behavior although the LAPACK User's Guide recommends that the execution should stop when an error occurs.
Value of info |
Error Message |
---|---|
1001 |
Intel MKL ERROR: Incompatible optional parameters on entry to DGEMM. |
1212 |
Intel MKL INTERNAL ERROR: Issue accessing coprocessor in function CGEEV. |
1000 or 1089 |
Intel MKL INTERNAL ERROR: Insufficient workspace available in function CGELSD. |
< 0 |
Intel MKL INTERNAL ERROR: Condition 1 detected in function DLASD8. |
Other |
Intel MKL ERROR: Parameter 6 was incorrect on entry to DGEMM. |
Note that xerbla is an internal function. You can change or disable printing of an error message by providing your own xerbla function. The following examples illustrate usage of xerbla.
void xerbla(char* srname, int* info, int len){ // srname - name of the function that called xerbla // info - position of the invalid parameter in the parameter list // len - length of the name in bytes printf("\nXERBLA is called :%s: %d\n",srname,*info); }