Developer Reference

Contents

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_create
routine initializes the solver. After the call to
dss_create
, all subsequent invocations of the
Intel® MKL
DSS routines must use the value of the handle returned by
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® MKL
PARDISO, otherwise it uses the OOC computations.
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 is
MKL_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

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804