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 Reference

    Memory 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
    doublecomplexdoublecomplexMalloc (int n)
    kusano 7d535a
    kusano 7d535a
    doublecomplexdoublecomplexCalloc (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
    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
    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) )