dss_create

Initializes the solver.

Syntax

C:

dss_create(handle, opt)

Fortran:

call dss_create(handle, opt)

Include Files

The FORTRAN 77 interface is specified in the mkl_dss.f77 include file, the Fortran 90 interface is specified in the mkl_dss.f90 include file, and the C interface is specified in the mkl_dss.h include file.

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 handle returned by the routine dss_create.

Warning iconWarning

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 specifying the following value:

MKL_DSS_SINGLE_PRECISION.

As for PARDISO, input data and internal arrays are required to have single precision.

By default, the DSS routines use Fortran style indexing for input arrays of integer types (first value is referenced as array element 1). The indexing can be set to C style (first value is referenced as array element 0) by specifying the following value:

MKL_DSS_ZERO_BASED_INDEXING.

This 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.

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 iconWarning

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

Input Parameters

Name

Type

Description

opt

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

C: _INTEGER_t const*

Parameter to pass the DSS options. The default value is MKL_DSS_MSG_LVL_WARNING + MKL_DSS_TERM_LVL_ERROR.

Output Parameters

Name

Type

Description

handle

FORTRAN 77: INTEGER*8

Fortran 90: TYPE (MKL_DSS_HANDLE), INTENT(OUT)

C: _MKL_DSS_HANDLE_t*

Pointer to the data structure storing intermediate DSS results (MKL_DSS_HANDLE).

Return Values

MKL_DSS_SUCCESS

MKL_DSS_INVALID_OPTION

MKL_DSS_OUT_OF_MEMORY


Submit feedback on this help topic

Copyright © 1994 - 2010, Intel Corporation. All rights reserved.