Intel® Math Kernel Library 2019 Developer Reference - C

xerbla

Error handling function called by BLAS, LAPACK, Vector Math, and Vector Statistics functions.

Syntax

void xerbla( const char * srname, const int* info, const int len );

Include Files

Input Parameters

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

Description

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:

  1. Prints a message that depends on the value of the info parameter as explained in the Error Messages Printed by xerbla table.

    Note

    A specific message can differ from the listed messages in numeric values and/or function names.

  2. 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.

Error Messages Printed by xerbla

Value of info

Error Message

1001

Intel MKL ERROR: Incompatible optional parameters on entry to DGEMM.

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.

Example

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);
}

See Also