Contents

# Direct Sparse Solver (DSS) Interface Routines

Intel® MKL
supports the DSS interface, an alternative to the
Intel® MKL
PARDISO interface for the direct sparse solver. The DSS interface implements a group of user-callable routines that are used in the step-by-step solving process and utilizes the general scheme described inAppendix A Linear Solvers Basics for solving sparse systems of linear equations. This interface also includes one routine for gathering statistics related to the solving process.
The DSS interface also supports the out-of-core (OOC) mode.
Table
"DSS Interface Routines"
lists the names of the routines and describes their general use.
DSS Interface Routines
Routine
Description
Initializes the solver and creates the basic data structures necessary for the solver. This routine must be called before any other DSS routine.
Informs the solver of the locations of the non-zero elements of the matrix.
Based on the non-zero structure of the matrix, computes a permutation vector to reduce fill-in during the factoring process.
Computes the
LU
,
LDL
T
or
LL
T
factorization of a real or complex matrix.
Computes the solution vector for a system of equations based on the factorization computed in the previous phase.
Deletes all data structures created during the solving process.
Returns statistics about various phases of the solving process.
To find a single solution vector for a single system of equations with a single right-hand side, invoke the
Intel® MKL
DSS interface routines in this order:
1. dss_create
2. dss_define_structure
3. dss_reorder
4. dss_factor_real, dss_factor_complex
5. dss_solve_real, dss_solve_complex
6. dss_delete
However, in certain applications it is necessary to produce solution vectors for multiple right-hand sides for a given factorization and/or factor several matrices with the same non-zero structure. Consequently, it is sometimes necessary to invoke the
Intel® MKL
sparse routines in an order other than that listed, which is possible using the DSS interface. The solving process is conceptually divided into six phases.Figure
"Typical order for invoking DSS interface routines"
indicates the typical order in which the DSS interface routines can be invoked.
See the code examples that use the DSS interface routines to solve systems of linear equations in the
Intel® MKL
installation directory (
dss_*.c
).
• examples/solverc/source

#### 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