SRC/util.c File Reference

Utilities functions. More...

#include <math.h>
#include "superlu_ddefs.h"

Defines

#define NBUCKS   10
 Get the statistics of the supernodes.

Functions/Subroutines

void Destroy_SuperMatrix_Store_dist (SuperMatrix *A)
 Deallocate the structure pointing to the actual storage of the matrix.
void Destroy_CompCol_Matrix_dist (SuperMatrix *A)
void Destroy_CompRowLoc_Matrix_dist (SuperMatrix *A)
void Destroy_CompRow_Matrix_dist (SuperMatrix *A)
void Destroy_SuperNode_Matrix_dist (SuperMatrix *A)
void Destroy_CompCol_Permuted_dist (SuperMatrix *A)
 A is of type Stype==NCP.
void Destroy_Dense_Matrix_dist (SuperMatrix *A)
 A is of type Stype==DN.
void Destroy_LU (int_t n, gridinfo_t *grid, LUstruct_t *LUstruct)
 Destroy distributed L & U matrices.
void ScalePermstructInit (const int_t m, const int_t n, ScalePermstruct_t *ScalePermstruct)
 Allocate storage in ScalePermstruct.
void ScalePermstructFree (ScalePermstruct_t *ScalePermstruct)
 Deallocate ScalePermstruct.
void LUstructInit (const int_t m, const int_t n, LUstruct_t *LUstruct)
 Allocate storage in LUstruct.
void LUstructFree (LUstruct_t *LUstruct)
 Deallocate LUstruct.
void countnz_dist (const int_t n, int_t *xprune, int_t *nnzL, int_t *nnzU, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable)
int_t fixupL_dist (const int_t n, const int_t *perm_r, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable)
void set_default_options_dist (superlu_options_t *options)
 Set the default values for the options argument.
void print_options_dist (superlu_options_t *options)
 Print the options setting.
int_t pxgstrs_init (int_t n, int_t m_loc, int_t nrhs, int_t fst_row, int_t perm_r[], int_t perm_c[], gridinfo_t *grid, Glu_persist_t *Glu_persist, SOLVEstruct_t *SOLVEstruct)
void pxgstrs_finalize (pxgstrs_comm_t *gstrs_comm)
void print_panel_seg_dist (int_t n, int_t w, int_t jcol, int_t nseg, int_t *segrep, int_t *repfnz)
 Diagnostic print of segment info after panel_dfs().
void PStatInit (SuperLUStat_t *stat)
void PStatPrint (superlu_options_t *options, SuperLUStat_t *stat, gridinfo_t *grid)
void PStatFree (SuperLUStat_t *stat)
void ifill_dist (int_t *a, int_t alen, int_t ival)
 Fills an integer array with a given value.
void get_diag_procs (int_t n, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *num_diag_procs, int_t **diag_procs, int_t **diag_len)
void super_stats_dist (int_t nsuper, int_t *xsup)
void check_repfnz_dist (int_t n, int_t w, int_t jcol, int_t *repfnz)
 Check whether repfnz[] == EMPTY after reset.
void PrintInt10 (char *name, int_t len, int_t *x)
int file_PrintInt10 (FILE *fp, char *name, int_t len, int_t *x)
int_t CheckZeroDiagonal (int_t n, int_t *rowind, int_t *colbeg, int_t *colcnt)

Variables

static int_t max_sup_size


Detailed Description

 -- Distributed SuperLU routine (version 2.0) --
 Lawrence Berkeley National Lab, Univ. of California Berkeley.
 February 1, 2003
 

Define Documentation

#define NBUCKS   10


Function Documentation

void check_repfnz_dist ( int_t  n,
int_t  w,
int_t  jcol,
int_t repfnz 
)

int_t CheckZeroDiagonal ( int_t  n,
int_t rowind,
int_t colbeg,
int_t colcnt 
)

void countnz_dist ( const int_t  n,
int_t xprune,
int_t nnzL,
int_t nnzU,
Glu_persist_t Glu_persist,
Glu_freeable_t Glu_freeable 
)

 Count the total number of nonzeros in factors L and U,  and in the 
 symmetrically reduced L. 
 

void Destroy_CompCol_Matrix_dist ( SuperMatrix A  ) 

void Destroy_CompCol_Permuted_dist ( SuperMatrix A  ) 

void Destroy_CompRow_Matrix_dist ( SuperMatrix A  ) 

void Destroy_CompRowLoc_Matrix_dist ( SuperMatrix A  ) 

void Destroy_Dense_Matrix_dist ( SuperMatrix A  ) 

void Destroy_LU ( int_t  n,
gridinfo_t grid,
LUstruct_t LUstruct 
)

void Destroy_SuperMatrix_Store_dist ( SuperMatrix A  ) 

void Destroy_SuperNode_Matrix_dist ( SuperMatrix A  ) 

int file_PrintInt10 ( FILE *  fp,
char *  name,
int_t  len,
int_t x 
)

int_t fixupL_dist ( const int_t  n,
const int_t perm_r,
Glu_persist_t Glu_persist,
Glu_freeable_t Glu_freeable 
)

 Fix up the data storage lsub for L-subscripts. It removes the subscript
 sets for structural pruning,	and applies permuation to the remaining
 subscripts.
 

void get_diag_procs ( int_t  n,
Glu_persist_t Glu_persist,
gridinfo_t grid,
int_t num_diag_procs,
int_t **  diag_procs,
int_t **  diag_len 
)

void ifill_dist ( int_t a,
int_t  alen,
int_t  ival 
)

void LUstructFree ( LUstruct_t LUstruct  ) 

void LUstructInit ( const int_t  m,
const int_t  n,
LUstruct_t LUstruct 
)

void print_options_dist ( superlu_options_t options  ) 

void print_panel_seg_dist ( int_t  n,
int_t  w,
int_t  jcol,
int_t  nseg,
int_t segrep,
int_t repfnz 
)

void PrintInt10 ( char *  name,
int_t  len,
int_t x 
)

void PStatFree ( SuperLUStat_t stat  ) 

void PStatInit ( SuperLUStat_t stat  ) 

void PStatPrint ( superlu_options_t options,
SuperLUStat_t stat,
gridinfo_t grid 
)

void pxgstrs_finalize ( pxgstrs_comm_t gstrs_comm  ) 

int_t pxgstrs_init ( int_t  n,
int_t  m_loc,
int_t  nrhs,
int_t  fst_row,
int_t  perm_r[],
int_t  perm_c[],
gridinfo_t grid,
Glu_persist_t Glu_persist,
SOLVEstruct_t SOLVEstruct 
)

 Purpose
 =======
   Set up the communication pattern for the triangular solution.

 Arguments
 =========

 n      (input) int (global)
        The dimension of the linear system.

 m_loc  (input) int (local)
        The local row dimension of the distributed input matrix.

 nrhs   (input) int (global)
        Number of right-hand sides.

 fst_row (input) int (global)
        The row number of matrix B's first row in the global matrix.

 perm_r (input) int* (global)
        The row permutation vector.

 perm_c (input) int* (global)
        The column permutation vector.

 grid   (input) gridinfo_t*
        The 2D process mesh.
 

void ScalePermstructFree ( ScalePermstruct_t ScalePermstruct  ) 

void ScalePermstructInit ( const int_t  m,
const int_t  n,
ScalePermstruct_t ScalePermstruct 
)

void set_default_options_dist ( superlu_options_t options  ) 

void super_stats_dist ( int_t  nsuper,
int_t xsup 
)


Variable Documentation

int_t max_sup_size [static]


Generated on Wed Nov 24 18:17:32 2010 for SuperLUDistributed by  doxygen 1.5.5