Returns statistics about various phases of the solving process.
C:
dss_statistics(handle, opt, statArr, retValues)
Fortran:
call dss_statistics(handle, opt, statArr, retValues)
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.
The dss_statistics routine returns statistics about various phases of the solving process. This routine gathers the following statistics:
- time taken to do reordering,
- time taken to do factorization,
- duration of problem solving,
- determinant of the input matrix,
- inertia of the input matrix,
- number of floating point operations taken during factorization,
- total peak memory needed during the analysis and symbolic factorization,
- permanent memory needed from the analysis and symbolic factorization,
- memory consumption for the factorization and solve phases.
Statistics are returned in accordance with the input string specified by the parameter statArr. The value of the statistics is returned in double precision in a return array, which you must allocate beforehand.
For multiple statistics, multiple string constants separated by commas can be used as input. Return values are put into the return array in the same order as specified in the input string.
Statistics can only be requested at the appropriate stages of the solving process. For example, requesting FactorTime before a matrix is factored leads to errors.
The following table shows the point at which each individual statistics item can be requested:
Type of Statistics | When to Call |
---|---|
ReorderTime | After dss_reorder is completed successfully. |
FactorTime | After dss_factor_real or dss_factor_complex is completed successfully. |
SolveTime | After dss_solve_real or dss_solve_complex is completed successfully. |
Determinant | After dss_factor_real or dss_factor_complex is completed successfully. |
Inertia | After dss_factor_real is completed successfully and the matrix is real, symmetric, and indefinite. |
Flops | After dss_factor_real or dss_factor_complex is completed successfully. |
Peakmem | After dss_reorder is completed successfully. |
Factormem | After dss_reorder is completed successfully. |
Solvemem | After dss_factor_real or dss_factor_complex is completed successfully. |
Name |
Type |
Description |
---|---|---|
handle |
FORTRAN 77: INTEGER*8 Fortran 90: TYPE (MKL_DSS_HANDLE), INTENT(IN) C: _MKL_DSS_HANDLE_t* |
Pointer to the data structure storing intermediate DSS results (MKL_DSS_HANDLE). |
opt |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Parameter to pass the DSS options. |
statArr |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: char const* |
Input string that defines the type of the returned statistics. The parameter can include one or more of the following string constants (case of the input string has no effect):
|
To avoid problems in passing strings from Fortran to C, Fortran users must call the mkl_cvt_to_null_terminated_str routine before calling dss_statistics. Refer to the description of mkl_cvt_to_null_terminated_str for details.
Name |
Type |
Description |
---|---|---|
retValues |
FORTRAN 77: REAL*8 Fortran 90: REAL(KIND=8), INTENT(OUT) C: VOID const* |
Value of the statistics returned. |
The example below illustrates the use of the dss_statistics routine.
To find the above values, call dss_statistics(handle, opt, statArr, retValue), where staArr is "ReorderTime,Inertia"
In this example, retValue has the following values:
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.