QR_MUMPS
List of all members | Public Attributes
dqrm_spmat_mod::dqrm_spmat_type Type Reference

This type defines the data structure used to store a matrix. More...

Public Attributes

integer, dimension(20) icntl =0
 an integer array containing control parameters expressed as an integer value. Undocumented entries are assigned as nicntl, nicntl-1 etc. More...
 
real(kind(1.d0)), dimension(10) rcntl =0.d0
 an double precision array containing control parameters expressed as a real value. Undocumented entries are assigned as nrcntl, nrcntl-1 etc. More...
 
integer(kind=8), dimension(10) gstats =0
 an array containing local global stats. some of its content will only be relevant on the master node. Meaning: More...
 
integer, dimension(:), pointer iptr => null()
 Pointer to the beginning of each row in CSR format. More...
 
integer, dimension(:), pointer jptr => null()
 Pointer to the beginning of each column in CSC format. More...
 
integer, dimension(:), pointer irn => null()
 Row indices. More...
 
integer, dimension(:), pointer jcn => null()
 Column indices. More...
 
real(kind(1.d0)), dimension(:), pointer val => null()
 Numerical values. More...
 
integer m =0
 Number of rows. More...
 
integer n =0
 Number of columns. More...
 
integer nz =0
 Number of nonzero elements. More...
 
integer, dimension(:), pointer cperm_in => null()
 A pointer to an array containing a column permutation provided by the user. More...
 
type(qrm_adata_typeadata
 a qrm_adata_mod::qrm_adata_type data which is meant to contain all the data related to the analysis phase More...
 
type(dqrm_fdata_typefdata
 a dqrm_fdata_mod::dqrm_fdata_type data which is meant to contain all the data related to the factorization phase More...
 
character(len=3) fmt ='coo'
 Storage format; can be either 'COO', 'CSR' or 'CSC'. More...
 

Detailed Description

This type defines the data structure used to store a matrix.

A matrix can be represented either in COO, CSR or CSC format. Following the qr_mumps convention any array visible/usable from the users interface will be a pointer; otherwise allocatbles will be used because they normally provide better performance.

Definition at line 111 of file dqrm_spmat_mod.F90.

Member Data Documentation

type(qrm_adata_type) dqrm_spmat_mod::dqrm_spmat_type::adata

a qrm_adata_mod::qrm_adata_type data which is meant to contain all the data related to the analysis phase

Definition at line 184 of file dqrm_spmat_mod.F90.

integer, dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::cperm_in => null()

A pointer to an array containing a column permutation provided by the user.

Definition at line 181 of file dqrm_spmat_mod.F90.

type(dqrm_fdata_type) dqrm_spmat_mod::dqrm_spmat_type::fdata

a dqrm_fdata_mod::dqrm_fdata_type data which is meant to contain all the data related to the factorization phase

Definition at line 187 of file dqrm_spmat_mod.F90.

character(len=3) dqrm_spmat_mod::dqrm_spmat_type::fmt ='coo'

Storage format; can be either 'COO', 'CSR' or 'CSC'.

Definition at line 189 of file dqrm_spmat_mod.F90.

integer(kind=8), dimension(10) dqrm_spmat_mod::dqrm_spmat_type::gstats =0

an array containing local global stats. some of its content will only be relevant on the master node. Meaning:

  • gstats(1) = total number of flops
  • gstats(2) = total number of nonzeroes in R (estimated)
  • gstats(3) = total number of nonzeroes in H (estimated)
  • gstats(4) = maximum front size (MxN)
  • gstats(5) = number of column singletons

Definition at line 162 of file dqrm_spmat_mod.F90.

integer, dimension(20) dqrm_spmat_mod::dqrm_spmat_type::icntl =0

an integer array containing control parameters expressed as an integer value. Undocumented entries are assigned as nicntl, nicntl-1 etc.

Meaning:

  • icntl(qrm_ordering_=1) : the ordering method to be used:
    • qrm_auto_=0 : automatic choice
    • qrm_natural_=1 : natural order
    • qrm_given_=2 : given order
    • qrm_colamd_=3 : COLAMD
    • qrm_metis_=4 : METIS
    • qrm_scotch_=5 : SCOTCH
  • icntl(qrm_sing_=2) : singleton detection switch:
    • qrm_no_=0 : no singleton detection
    • qrm_yes_=1 : singleton detection
  • icntl(qrm_minamalg_=3) : minimum node size for amalgamation. Node i can be amalgamated to its father iff they both have less than icntl(3) variables and the fill in introduced is less than rcntl(1).
  • icntl(qrm_nb_=4) : the block size to be used during factorization
  • inctl(qrm_keeph_=5) : whether H (the Householder vectors) has to be stored or not
    • qrm_no_=0 : the Householder vectors are discarded
    • qrm_yes_=1 : the Householder vectors are kept
  • inctl(qrm_ib_=6) : the internal blocking size to reduce flops
  • icntl(qrm_rhsnb_=7) : the blocking parameter to handle multiple right-hand-sides
  • icntl(qrm_nthreads_=8) : the number of threads to use in facto
  • icntl(qrm_rhsnthreads_=9) : the number of threads to use for the outer parallel loop on blocks of rhss
  • icntl(qrm_nlz_=nicntl) : the minimum number of subtrees in L0 is this times the number of threads
  • icntl(qrm_cnode_=nicntl-1) : the number of cores per NUMA node (or cache, whatever)

Definition at line 143 of file dqrm_spmat_mod.F90.

integer, dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::iptr => null()

Pointer to the beginning of each row in CSR format.

Definition at line 164 of file dqrm_spmat_mod.F90.

integer, dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::irn => null()

Row indices.

Definition at line 168 of file dqrm_spmat_mod.F90.

integer, dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::jcn => null()

Column indices.

Definition at line 170 of file dqrm_spmat_mod.F90.

integer, dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::jptr => null()

Pointer to the beginning of each column in CSC format.

Definition at line 166 of file dqrm_spmat_mod.F90.

integer dqrm_spmat_mod::dqrm_spmat_type::m =0

Number of rows.

Definition at line 174 of file dqrm_spmat_mod.F90.

integer dqrm_spmat_mod::dqrm_spmat_type::n =0

Number of columns.

Definition at line 176 of file dqrm_spmat_mod.F90.

integer dqrm_spmat_mod::dqrm_spmat_type::nz =0

Number of nonzero elements.

Definition at line 178 of file dqrm_spmat_mod.F90.

real(kind(1.d0)), dimension(10) dqrm_spmat_mod::dqrm_spmat_type::rcntl =0.d0

an double precision array containing control parameters expressed as a real value. Undocumented entries are assigned as nrcntl, nrcntl-1 etc.

Meaning:

  • rcntl(qrm_amalgth_=1) : fill-in threshold for amalgamation. Node i can be amalgamated to its father iff they both have less than icntl(3) variables and the fill in introduced is less than rcntl(1).
  • rcntl(qrm_rweight_=nrcntl) : subtrees with relative weight below this threashold will be put in L0

Definition at line 154 of file dqrm_spmat_mod.F90.

real(kind(1.d0)), dimension(:), pointer dqrm_spmat_mod::dqrm_spmat_type::val => null()

Numerical values.

Definition at line 172 of file dqrm_spmat_mod.F90.


The documentation for this type was generated from the following file: