|
kusano |
7d535a |
|
|
kusano |
7d535a |
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
|
|
kusano |
7d535a |
<title>SuperLU: SRC/zmemory.c File Reference</title>
|
|
kusano |
7d535a |
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
kusano |
7d535a |
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Main Page
|
|
kusano |
7d535a |
Data Structures
|
|
kusano |
7d535a |
Files
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
SRC/zmemory.c File ReferenceMemory details. More...
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#include "slu_zdefs.h"
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Defines
|
|
kusano |
7d535a |
#define StackFull(x) ( x + Glu->stack.used >= Glu->stack.size )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define NotDoubleAlign(addr) ( (long int)addr & 7 )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define DoubleAlign(addr) ( ((long int)addr + 7) & ~7L )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define TempSpace(m, w)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define Reduce(alpha) ((alpha + 1) / 2)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Functions
|
|
kusano |
7d535a |
void * zexpand (int *prev_len,MemType type,int len_to_copy,int keep_prev,GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Expand the existing storage to accommodate more fill-ins.
|
|
kusano |
7d535a |
int zLUWorkInit (int m, int n, int panel_size, int **iworkptr, doublecomplex **dworkptr, GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Allocate known working storage. Returns 0 if success, otherwise returns the number of bytes allocated so far when failure occurred.
|
|
kusano |
7d535a |
void copy_mem_doublecomplex (int, void *, void *)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
void zStackCompress (GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Compress the work[] array to remove fragmentation.
|
|
kusano |
7d535a |
void zSetupSpace (void *work, int lwork, GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Setup the memory model to be used for factorization.
|
|
kusano |
7d535a |
void * zuser_malloc (int, int, GlobalLU_t *)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
void zuser_free (int, int, GlobalLU_t *)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
void copy_mem_int (int, void *, void *)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
void user_bcopy (char *, char *, int)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int zQuerySpace (SuperMatrix *L, SuperMatrix *U, mem_usage_t *mem_usage)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int ilu_zQuerySpace (SuperMatrix *L, SuperMatrix *U, mem_usage_t *mem_usage)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int zLUMemInit (fact_t fact, void *work, int lwork, int m, int n, int annz, int panel_size, double fill_ratio, SuperMatrix *L, SuperMatrix *U, GlobalLU_t *Glu, int **iwork, doublecomplex **dwork)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Allocate storage for the data structures common to all factor routines.
|
|
kusano |
7d535a |
void zSetRWork (int m, int panel_size, doublecomplex *dworkptr, doublecomplex **dense, doublecomplex **tempv)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Set up pointers for real working arrays.
|
|
kusano |
7d535a |
void zLUWorkFree (int *iwork, doublecomplex *dwork, GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Free the working storage used by factor routines.
|
|
kusano |
7d535a |
int zLUMemXpand (int jcol, int next, MemType mem_type, int *maxlen, GlobalLU_t *Glu)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Expand the data structures for L and U during the factorization.
|
|
kusano |
7d535a |
void zallocateA (int n, int nnz, doublecomplex **a, int **asub, int **xa)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Allocate storage for original matrix A.
|
|
kusano |
7d535a |
doublecomplex * doublecomplexMalloc (int n)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
doublecomplex * doublecomplexCalloc (int n)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
int zmemory_usage (const int nzlmax, const int nzumax, const int nzlumax, const int n)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Detailed Description
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
-- SuperLU routine (version 4.0) --
|
|
kusano |
7d535a |
Lawrence Berkeley National Laboratory.
|
|
kusano |
7d535a |
June 30, 2009
|
|
kusano |
7d535a |
Define Documentation
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define DoubleAlign
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
addr
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
( ((long int)addr + 7) & ~7L )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define NotDoubleAlign
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
addr
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
( (long int)addr & 7 )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define Reduce
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
alpha
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
((alpha + 1) / 2)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define StackFull
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
x
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
( x + Glu->stack.used >= Glu->stack.size )
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
#define TempSpace
|
|
kusano |
7d535a |
(
|
|
kusano |
7d535a |
m,
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
w
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
)
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
|
|
kusano |
7d535a |
Value:( (2*w + 4 + NO_MARKER) * m * sizeof(int) + \
|
|
kusano |
7d535a |
(w + 1) * m * sizeof(doublecomplex) )
|