# dss_create

Initializes the solver.

## Syntax

dss_create(handle, opt)

## Description

The routine dss_create initializes the solver. After the call to dss_create, all subsequent invocations of the Intel MKL DSS routines must use the value of handle returned by the routine dss_create.

### Warning

Do not write the value of handle directly.

The default value of the parameter opt is

MKL_DSS_MSG_LVL_WARNING + MKL_DSS_TERM_LVL_ERROR .

This parameter can contain additionally one of two possible values to launch the out-of-core version of DSS (OOC DSS): MKL_DSS_OOC_VARIABLE and MKL_DSS_OOC_STRONG.

MKL_DSS_OOC_STRONG - OOC DSS is used.

MKL_DSS_OOC_VARIABLE - OOC DSS uses the in-core kernels of PARDISO* if there is enough memory for storing work arrays associated with the matrix factors in the main memory. Specifically, if the memory needed for the matrix factors is less than the value of the environment variable MKL_PARDISO_OOC_MAX_CORE_SIZE, then the OOC version of PARDISO* uses the in-core computations, otherwise it uses the OOC computations.

The variable MKL_PARDISO_OOC_MAX_CORE_SIZE defines the maximum size of the main memory allowed for storing work arrays associated with the matrix factors. It is ignored if MKL_DSS_OOC_STRONG is set. The default value of MKL_PARDISO_OOC_MAX_CORE_SIZE is 2000 MBytes. This value and default path and file name for storing temporary data can be changed using the configuration file pardiso_ooc.cfg or command line (See more details in the PARDISO Parameters description above).

### Warning

Do not change the behavior of the OOC DSS after it is specified in the routine dss_create.

## Input Parameters

opt

  INTEGER Options passing argument. The default value is MKL_DSS_MSG_LVL_WARNING + MKL_DSS_TERM_LVL_ERROR.

## Output Parameters

handle

  Data object of the MKL_DSS_HANDLE type (see Interface Description).

## Return Values

MKL_DSS_SUCCESS

MKL_DSS_INVALID_OPTION

MKL_DSS_OUT_OF_MEMORY

Parent topic: Direct Sparse Solver (DSS) Interface Routines