Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

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

Document Table of Contents

DftiErrorClass

Checks whether the status reflects an error of a predefined class.

Syntax

predicate = DftiErrorClass( status, error_class )

Include Files

  • mkl_dfti.f90

Input Parameters

Name

Type

Description

status

INTEGER

Completion status of a fast Fourier transform (FFT) function.

error_class

INTEGER

Predefined error class.

Output Parameters

Name

Type

Description

predicate

LOGICAL

Result of checking.

Description

The FFT interface in Intel® oneAPI Math Kernel Library (oneMKL) provides a set of predefined error classeslisted in Table "Predefined Error Classes". They are named constants and have the type INTEGER.

Predefined Error Classes

Named Constants

Comments

DFTI_NO_ERROR

No error. The zero status belongs to this class.

DFTI_MEMORY_ERROR

Usually associated with memory allocation.

DFTI_INVALID_CONFIGURATION

Invalid settings in one or more configuration parameters.

DFTI_INCONSISTENT_CONFIGURATION

Inconsistent configuration or input parameters.

DFTI_NUMBER_OF_THREADS_ERROR

Number of OMP threads in the computation function is not equal to the number of OMP threads in the initialization stage (commit function).

DFTI_MULTITHREADED_ERROR

Usually associated with a value that OMP routines return in case of errors.

DFTI_BAD_DESCRIPTOR

Descriptor is unusable for computation.

DFTI_UNIMPLEMENTED

Unimplemented legitimate settings; implementation dependent.

DFTI_MKL_INTERNAL_ERROR

Internal library error.

DFTI_1D_LENGTH_EXCEEDS_INT32

Length of one of the dimensions exceeds 232 -1 (4 bytes).

DFTI_1D_MEMORY_EXCEEDS_INT32

Data size of one of the transforms exceeds 231 -1 bytes.

NOTE:

Use DFTI_1D_MEMORY_EXCEEDS_INT32 instead of DFTI_1D_LENGTH_EXCEEDS_INT32 for better accuracy.

The DftiErrorClass function returns the value of .TRUE. if the status belongs to the predefined error class. To check whether a function call was successful, call DftiErrorClass with a specific error class. However, the zero value of the status belongs to the DFTI_NO_ERROR class and thus the zero status indicates successful completion of an operation. See Example "Using Status Checking Functions" for an illustration of correct use of the status checking functions.

NOTE:

It is incorrect to directly compare a status with a predefined class.

Interface

 
INTERFACE DftiErrorClass
//Note that the body provided here is to illustrate the different
//argument list and types of dummy arguments. The interface
//does not guarantee what the actual function names are.
//Users can only rely on the function name following the
//keyword INTERFACE
 FUNCTION some_actual_function_8( Status, Error_Class )
 LOGICAL some_actual_function_8
 INTEGER, INTENT(IN) :: Status, Error_Class
 END FUNCTION some_actual_function_8
END INTERFACE DftiErrorClass