Several aspects of the Intel MKL DSS interface are platform-specific and language-specific. To promote portability across platforms and ease of use across different languages, one of the following Intel MKL DSS language-specific header files can be included:
These header files define symbolic constants for returned error values, function options, certain defined data types, and function prototypes.
Constants for options, returned error values, and message severities must be referred only by the symbolic names that are defined in these header files. Use of the Intel MKL DSS software without including one of the above header files is not supported.
To simplify the use of the Intel MKL DSS routines, they do not require you to allocate any temporary working storage. The solver itself allocates any required storage. To enable multiple users to access the solver simultaneously, the solver keeps track of the storage allocated for a particular application by using a data object called a handle.
Each of the Intel MKL DSS routines creates, uses or deletes a handle. Consequently, each program must be able to allocate storage for a handle. The exact syntax for allocating storage for a handle varies from language to language. To standardize the handle declarations, the language-specific header files declare constants and defined data types that must be used when declaring a handle object in the user code.
Fortran 90 programmers must declare a handle as:
INCLUDE "mkl_dss.f90"
TYPE(MKL_DSS_HANDLE) handle
C and C++ programmers must declare a handle as:
#include "mkl_dss.h"
_MKL_DSS_HANDLE_t handle;
FORTRAN 77 programmers using compilers that support eight byte integers, must declare a handle as:
INCLUDE "mkl_dss.f77"
INTEGER*8 handle
Otherwise they can replace the INTEGER*8 data types with the DOUBLE PRECISION data type.
In addition to the definition for the correct declaration of a handle, the include file also defines the following:
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.