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 usercallable routines that are used in the stepbystep solving process and utilizes the general scheme described in Appendix 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 and an auxiliary routine for passing character strings from Fortran routines to C routines.
The DSS interface also supports the outofcore (OOC) mode.
Table "DSS Interface Routines" lists the names of the routines and describes their general use.
Routine  Description 

dss_create 
Initializes the solver and creates the basic data structures necessary for the solver. This routine must be called before any other DSS routine. 
dss_define_structure 
Informs the solver of the locations of the nonzero elements of the matrix. 
dss_reorder 
Based on the nonzero structure of the matrix, computes a permutation vector to reduce fillin during the factoring process. 
dss_factor_real, dss_factor_complex 
Computes the LU, LDL^{T} or LL^{T} factorization of a real or complex matrix. 
dss_solve_real, dss_solve_complex 
Computes the solution vector for a system of equations based on the factorization computed in the previous phase. 
dss_delete 
Deletes all data structures created during the solving process. 
dss_statistics 
Returns statistics about various phases of the solving process. 
mkl_cvt_to_null_terminated_str 
Passes character strings from Fortran routines to C routines. 
To find a single solution vector for a single system of equations with a single righthand side, invoke the Intel MKL DSS interface routines in this order:
 dss_create
 dss_define_structure
 dss_reorder
 dss_factor_real, dss_factor_complex
 dss_solve_real, dss_solve_complex
 dss_delete
However, in certain applications it is necessary to produce solution vectors for multiple righthand sides for a given factorization and/or factor several matrices with the same nonzero 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_*.f and dss_*.c).

Fortran examples: examples/solverf/source

C examples: examples/solverc/source