SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
psymbfact_util.c File Reference

Utilities for parallel symbolic factorization routine. More...

#include "superlu_ddefs.h"
#include "psymbfact.h"
Include dependency graph for psymbfact_util.c:

Functions

static void copy_mem_int (int_t howmany, int_t *old, int_t *new)
 
static int_texpand (int_t prev_len, int_t min_new_len, int_t *prev_mem, int_t *p_new_len, int_t len_tcopy_fbeg, int_t len_tcopy_fend, psymbfact_stat_t *PS)
 Expand the existing storage to accommodate more fill-ins. More...
 
int_t psymbfact_LUXpandMem (int iam, int_t n, int_t vtxXp, int_t next, int_t min_new_len, int mem_type, int rout_type, int free_prev_mem, Pslu_freeable_t *Pslu_freeable, Llu_symbfact_t *Llu_symbfact, vtcsInfo_symbfact_t *VInfo, psymbfact_stat_t *PS)
 
int_t psymbfact_LUXpand (int_t iam, int_t n, int_t fstVtxLvl_loc, int_t vtxXp, int_t *p_next, int_t min_new_len, int_t mem_type, int_t rout_type, int_t free_prev_mem, Pslu_freeable_t *Pslu_freeable, Llu_symbfact_t *Llu_symbfact, vtcsInfo_symbfact_t *VInfo, psymbfact_stat_t *PS)
 
int_t psymbfact_LUXpand_RL (int_t iam, int_t n, int_t vtxXp, int_t next, int_t len_texp, int_t mem_type, Pslu_freeable_t *Pslu_freeable, Llu_symbfact_t *Llu_symbfact, vtcsInfo_symbfact_t *VInfo, psymbfact_stat_t *PS)
 
int_t psymbfact_prLUXpand (int_t iam, int_t min_new_len, int mem_type, Llu_symbfact_t *Llu_symbfact, psymbfact_stat_t *PS)
 

Detailed Description

Utilities for parallel symbolic factorization routine.

Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)

All rights reserved.

The source code is distributed under BSD license, see the file License.txt at the top-level directory.

-- Distributed symbolic factorization auxialiary routine  (version 1.0) --
Lawrence Berkeley National Lab, Univ. of California Berkeley - July 2003
INRIA France - January 2004
Laura Grigori

November 1, 2007

Function Documentation

◆ copy_mem_int()

static void copy_mem_int ( int_t  howmany,
int_t old,
int_t new 
)
static
Here is the caller graph for this function:

◆ expand()

static int_t * expand ( int_t  prev_len,
int_t  min_new_len,
int_t prev_mem,
int_t p_new_len,
int_t  len_tcopy_fbeg,
int_t  len_tcopy_fend,
psymbfact_stat_t PS 
)
static

Expand the existing storage to accommodate more fill-ins.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ psymbfact_LUXpand()

int_t psymbfact_LUXpand ( int_t  iam,
int_t  n,
int_t  fstVtxLvl_loc,
int_t  vtxXp,
int_t p_next,
int_t  min_new_len,
int_t  mem_type,
int_t  rout_type,
int_t  free_prev_mem,
Pslu_freeable_t Pslu_freeable,
Llu_symbfact_t Llu_symbfact,
vtcsInfo_symbfact_t VInfo,
psymbfact_stat_t PS 
)
Expand the data structures for L and U during the factorization.
Return value: SUCCES_RET - successful return
              ERROR_RET - error due to a memory alocation failure

Sherry: this function is used in the upper separator tree above the domains. It does not call 'expand()'

Here is the call graph for this function:

◆ psymbfact_LUXpand_RL()

int_t psymbfact_LUXpand_RL ( int_t  iam,
int_t  n,
int_t  vtxXp,
int_t  next,
int_t  len_texp,
int_t  mem_type,
Pslu_freeable_t Pslu_freeable,
Llu_symbfact_t Llu_symbfact,
vtcsInfo_symbfact_t VInfo,
psymbfact_stat_t PS 
)
Expand the data structures for L and U during the factorization.
Return value:   0 - successful return
              > 0 - number of bytes allocated when run out of space

Sherry: this function calls psymbfact_LUXpandMem().

Here is the call graph for this function:

◆ psymbfact_LUXpandMem()

int_t psymbfact_LUXpandMem ( int  iam,
int_t  n,
int_t  vtxXp,
int_t  next,
int_t  min_new_len,
int  mem_type,
int  rout_type,
int  free_prev_mem,
Pslu_freeable_t Pslu_freeable,
Llu_symbfact_t Llu_symbfact,
vtcsInfo_symbfact_t VInfo,
psymbfact_stat_t PS 
)
Expand the data structures for L and U during the factorization.
Return value:   0 - successful return
              > 0 - number of bytes allocated when run out of space

Sherry: this function is used inside the domains.

Here is the call graph for this function:

◆ psymbfact_prLUXpand()

int_t psymbfact_prLUXpand ( int_t  iam,
int_t  min_new_len,
int  mem_type,
Llu_symbfact_t Llu_symbfact,
psymbfact_stat_t PS 
)
Expand the data structures for L and U pruned during the factorization.
Return value: SUCCES_RET - successful return
              ERROR_RET - error when run out of space

Sherry: this function calls 'expand()' directly.

Here is the call graph for this function: