Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

dss_reorder

Computes or sets a permutation vector that minimizes the fill-in during the factorization phase.

Syntax

MKL_INT
dss_reorder
(
_MKL_DSS_HANDLE_t *
handle
,
MKL_INT const *
opt
,
MKL_INT const *
perm
)
Include Files
  • mkl.h
Description
If
opt
contains the option
MKL_DSS_AUTO_ORDER
, then the routine
dss_reorder
computes a permutation vector that minimizes the fill-in during the factorization phase. For this option, the routine ignores the contents of the
perm
array.
If
opt
contains the option
MKL_DSS_METIS_OPENMP_ORDER
, then the routine
dss_reorder
computes permutation vector using the parallel nested dissections algorithm to minimize the fill-in during the factorization phase. This option can be used to decrease the time of
dss_reorder
call on multi-core computers. For this option, the routine ignores the contents of the
perm
array.
If
opt
contains the option
MKL_DSS_MY_ORDER
, then you must supply a permutation vector in the array
perm
. In this case, the array
perm
is of length
nRows
, where
nRows
is the number of rows in the matrix as defined by the previous call to
dss_define_structure
.
If
opt
contains the option
MKL_DSS_GET_ORDER
, then the permutation vector computed during the
dss_reorder
call is copied to the array
perm.
In this case you must allocate the array
perm
beforehand. The permutation vector is computed in the same way as if the option
MKL_DSS_AUTO_ORDER
is set.
Optimization Notice
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
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.
Input Parameters
opt
Parameter to pass the DSS options. The default value for the permutation type is
MKL_DSS_AUTO_ORDER
.
perm
Array of length
nRows
. Contains a user-defined permutation vector (accessed only if
opt
contains
MKL_DSS_MY_ORDER
or
MKL_DSS_GET_ORDER
).
Output Parameters
handle
Pointer to the data structure storing internal DSS results (
MKL_DSS_HANDLE
).
Return Values
MKL_DSS_SUCCESS
MKL_DSS_STATE_ERR
MKL_DSS_INVALID_OPTION
MKL_DSS_REORDER_ERR
MKL_DSS_REORDER1_ERR
MKL_DSS_I32BIT_ERR
MKL_DSS_FAILURE
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