Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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

  • mkl.h

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® oneAPI Math Kernel Library (oneMKL) 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 following table.

    NOTE:

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

  2. Returns to the calling application.

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

The position of the invalid parameter in the parameter list of the calling function.

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