SuperLU_DIST  4.0
superlu_dist on CPU and GPU clusters
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions | Variables
memory.c File Reference

Memory utilities. More...

#include "superlu_ddefs.h"

Functions

void SetupSpace (void *, int_t, LU_space_t *)
 
void superlu_abort_and_exit_dist (char *msg)
 
void * superlu_malloc_dist (size_t size)
 
void superlu_free_dist (void *addr)
 
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

Memory utilities.

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

Function Documentation

int_t* intCalloc_dist ( int_t  n)
int_t* intMalloc_dist ( int_t  n)
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
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