To promote portability across platforms and ease of use across different languages, use the mkl_dss.h header file.
The header file defines 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.
Memory Allocation and Handles
You do not need to allocate any temporary working storage in order to use the Intel MKL DSS routines, because 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 handle data object.
Each of the Intel MKL DSS routines creates, uses, or deletes a handle. Consequently, any program calling an Intel MKL DSS routine 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 your code.
#include "mkl_dss.h" _MKL_DSS_HANDLE_t handle;
In addition to the definition for the correct declaration of a handle, the include file also defines the following:
function prototypes for languages that support prototypes
symbolic constants that are used for the returned error values
user options for the solver routines
constants indicating message severity.