dss_create
dss_create
Initializes the solver.
Syntax
MKL_INT
dss_create
(
_MKL_DSS_HANDLE_t *
handle
,
MKL_INT const *
opt
)
Include Files
- mkl.h
Description
The DSS routines must use the value of the handle returned by
dss_create
routine initializes the solver. After the call to dss_create
, all subsequent invocations of the Intel® oneAPI Math Kernel Library
dss_create
.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
. By default, the DSS routines use double precision for
solving systems of linear equations. The precision used by the DSS routines
can be set to single mode by adding the following
value to the
opt
parameter: MKL_DSS_SINGLE_PRECISION
. Input data and internal arrays
are required to have single precision.
By default, the DSS routines use Fortran style (one-based)
indexing for input arrays of integer types (the first value is
referenced as array element 1). To set indexing to C style (the first value is referenced as array element 0), add
the following value to the
opt
parameter:MKL_DSS_ZERO_BASED_INDEXING
. The
opt
parameter can also control number of refinement
steps used on the solution stage by specifying the two following
values: MKL_DSS_REFINEMENT_OFF
-
maximum number of refinement steps is set to zero;
MKL_DSS_REFINEMENT_ON
(default value) - maximum number
of refinement steps is set to 2.By default, DSS uses in-core computations. To launch the out-of-core version of DSS (OOC DSS) you can add to this parameter one of two possible values:
MKL_DSS_OOC_STRONG
and MKL_DSS_OOC_VARIABLE
.MKL_DSS_OOC_STRONG
- OOC DSS is used. MKL_DSS_OOC_VARIABLE
- 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 DSS uses the in-core kernels of Intel® oneAPI Math Kernel Library
The variable
MKL_PARDISO_OOC_MAX_CORE_SIZE
defines the maximum size of RAM 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 MB. 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 description of the pardiso
routine).Other than message and termination level options, do not change the OOC DSS settings after they are specified in the routine
dss_create
.Input Parameters
- opt
- Parameter to pass the DSS options. The default value isMKL_DSS_MSG_LVL_WARNING+MKL_DSS_TERM_LVL_ERROR.
Output Parameters
- handle
- Pointer to the data structure storing internal DSS results (MKL_DSS_HANDLE).
Return Values
MKL_DSS_SUCCESS
MKL_DSS_INVALID_OPTION
MKL_DSS_OUT_OF_MEMORY
MKL_DSS_MSG_LVL_ERR
MKL_DSS_TERM_LVL_ERR