EXAMPLE/memory_g.c File Reference

Memory utilities. More...

#include "superlu_ddefs.h"

Functions

static int_t memory_usage (const int_t, const int_t, const int_t)
static void * expand (int_t *prev_len,MemType type,int_t len_to_copy,int_t keep_prev,Glu_freeable_t *Glu_freeable)
void SetupSpace (void *work, int_t lwork, LU_space_t *MemModel)
void superlu_abort_and_exit_dist (char *msg)
void * superlu_malloc_dist (size_t size)
void superlu_free_dist (void *addr)
static void copy_mem_int (int_t howmany, void *old, void *new)
static void user_bcopy (char *src, char *dest, int_t bytes)
int_tintMalloc_dist (int_t n)
int_tintCalloc_dist (int_t n)
void * user_malloc_dist (int_t bytes, int_t which_end)
void user_free_dist (int_t bytes, int_t which_end)
int_t symbfact_SubInit (fact_t fact, void *work, int_t lwork, int_t m, int_t n, int_t annz, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable)
int_t symbfact_SubXpand (int_t n, int_t jcol, int_t next, MemType mem_type, int_t *maxlen, Glu_freeable_t *Glu_freeable)
int_t symbfact_SubFree (Glu_freeable_t *Glu_freeable)
int_t QuerySpace_dist (int_t n, int_t lsub_size, Glu_freeable_t *Glu_freeable, mem_usage_t *mem_usage)

Variables

ExpHeaderexpanders
LU_stack_t stack
int_t no_expand
long int superlu_malloc_total = 0


Detailed Description

 -- Distributed SuperLU routine (version 1.0) --
 Lawrence Berkeley National Lab, Univ. of California Berkeley.
 September 1, 1999
 

Function Documentation

static void copy_mem_int int_t  howmany,
void *  old,
void *  new
[static]
 

static void * expand int_t prev_len,
MemType  type,
int_t  len_to_copy,
int_t  keep_prev,
Glu_freeable_t Glu_freeable
[static]
 

 Expand the existing storage to accommodate more fill-ins.
 

int_t* intCalloc_dist int_t  n  ) 
 

int_t* intMalloc_dist int_t  n  ) 
 

static int_t memory_usage const   int_t,
const   int_t,
const   int_t
[static]
 

int_t QuerySpace_dist int_t  n,
int_t  lsub_size,
Glu_freeable_t Glu_freeable,
mem_usage_t mem_usage
 

 mem_usage consists of the following fields:
  • for_lu (float) The amount of space used in bytes for the L data structures.
  • total (float) The amount of space needed in bytes to perform factorization.
  • expansions (int) Number of memory expansions during the LU factorization.

void SetupSpace void *  work,
int_t  lwork,
LU_space_t MemModel
 

 Setup the memory model to be used for factorization.
    lwork = 0: use system malloc;
    lwork > 0: use user-supplied work[] space.
 

void superlu_abort_and_exit_dist char *  msg  ) 
 

void superlu_free_dist void *  addr  ) 
 

void* superlu_malloc_dist size_t  size  ) 
 

int_t symbfact_SubFree Glu_freeable_t Glu_freeable  ) 
 

 Deallocate storage of the data structures common to symbolic
 factorization routines.
 

int_t symbfact_SubInit fact_t  fact,
void *  work,
int_t  lwork,
int_t  m,
int_t  n,
int_t  annz,
Glu_persist_t Glu_persist,
Glu_freeable_t Glu_freeable
 

 Allocate storage for the data structures common to symbolic factorization
 routines. For those unpredictable size, make a guess as FILL * nnz(A).
 Return value:
     If lwork = -1, return the estimated amount of space required, plus n;
     otherwise, return the amount of space actually allocated when
     memory allocation failure occurred.
 

int_t symbfact_SubXpand int_t  n,
int_t  jcol,
int_t  next,
MemType  mem_type,
int_t maxlen,
Glu_freeable_t Glu_freeable
 

 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
 

static void user_bcopy char *  src,
char *  dest,
int_t  bytes
[static]
 

void user_free_dist int_t  bytes,
int_t  which_end
 

void* user_malloc_dist int_t  bytes,
int_t  which_end
 


Variable Documentation

ExpHeader* expanders
 

int_t no_expand
 

LU_stack_t stack
 

long int superlu_malloc_total = 0
 


Generated on Sat Aug 9 23:23:51 2008 for SuperLUDistributed by  doxygen 1.4.6