SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
util_dist.h File Reference

Header for utilities. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "superlu_enum_consts.h"
Include dependency graph for util_dist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SuperLUStat_t
 
struct  e_node
 
struct  SuperLU_LU_stack_t
 
struct  SCT_t
 

Macros

#define USER_ABORT(msg)   superlu_abort_and_exit_dist(msg)
 
#define ABORT(err_msg)
 
#define USER_MALLOC(size)   superlu_malloc_dist(size)
 
#define SUPERLU_MALLOC(size)   USER_MALLOC(size)
 
#define USER_FREE(addr)   superlu_free_dist(addr)
 
#define SUPERLU_FREE(addr)   USER_FREE(addr)
 
#define CHECK_MALLOC(pnum, where)
 
#define SUPERLU_MAX(x, y)   ( (x) > (y) ? (x) : (y) )
 
#define SUPERLU_MIN(x, y)   ( (x) < (y) ? (x) : (y) )
 
#define MPI_REQ_ALLOC(x)   ((MPI_Request *) SUPERLU_MALLOC ( (x) * sizeof (MPI_Request)))
 
#define INT_T_ALLOC(x)   ((int_t *) SUPERLU_MALLOC ( (x) * sizeof (int_t)))
 
#define DOUBLE_ALLOC(x)   ((double *) SUPERLU_MALLOC ( (x) * sizeof (double)))
 
#define SLU_EMPTY   (-1)
 
#define FALSE   (0)
 
#define TRUE   (1)
 
#define MAX_3D_LEVEL   32 /*allows for z dimensions of 2^32*/
 
#define CBLOCK   192
 
#define CACHE_LINE_SIZE   8
 
#define CSTEPPING   8
 
#define SuperLU_GluIntArray(n)   (5 * (n) + 5)
 
#define SuperLU_StackFull(x)   ( x + stack.used >= stack.size )
 
#define SuperLU_NotDoubleAlign(addr)   ( (long)addr & 7 )
 
#define SuperLU_DoubleAlign(addr)   ( ((long)addr + 7) & ~7L )
 
#define SuperLU_TempSpace(n, w)
 
#define SuperLU_Reduce(alpha)   ((alpha + 1) / 2) /* i.e. (alpha-1)/2 + 1 */
 
#define SuperLU_FIRSTCOL_OF_SNODE(i)   (xsup[i])
 
#define TIC(t)
 
#define TOC(t2, t1)
 
#define SuperLU_L_SUB_START(col)   ( Lstore->rowind_colptr[col] )
 
#define SuperLU_L_SUB(ptr)   ( Lstore->rowind[ptr] )
 
#define SuperLU_L_NZ_START(col)   ( Lstore->nzval_colptr[col] )
 
#define SuperLU_L_FST_SUPC(superno)   ( Lstore->sup_to_col[superno] )
 
#define SuperLU_U_NZ_START(col)   ( Ustore->colptr[col] )
 
#define SuperLU_U_SUB(ptr)   ( Ustore->rowind[ptr] )
 

Typedefs

typedef float flops_t
 
typedef unsigned char Logical
 
typedef struct e_node SuperLU_ExpHeader
 

Detailed Description

Header for utilities.

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 SuperLU routine (version 8.0) --
Lawrence Berkeley National Lab, Univ. of California Berkeley.
May 22, 2022

Macro Definition Documentation

◆ ABORT

#define ABORT (   err_msg)
Value:
{ char msg[256];\
sprintf(msg,"%s at line %d in file %s\n",err_msg,__LINE__, __FILE__);\
USER_ABORT(msg); }

◆ CACHE_LINE_SIZE

#define CACHE_LINE_SIZE   8

◆ CBLOCK

#define CBLOCK   192

◆ CHECK_MALLOC

#define CHECK_MALLOC (   pnum,
  where 
)
Value:
{ \
extern long int superlu_malloc_total; \
printf("(%d) %s: superlu_malloc_total (MB) %.6f\n", \
pnum, where, superlu_malloc_total*1e-6); \
fflush(stdout); \
}
long int superlu_malloc_total
Definition: memory.c:56

◆ CSTEPPING

#define CSTEPPING   8

◆ DOUBLE_ALLOC

#define DOUBLE_ALLOC (   x)    ((double *) SUPERLU_MALLOC ( (x) * sizeof (double)))

◆ FALSE

#define FALSE   (0)

◆ INT_T_ALLOC

#define INT_T_ALLOC (   x)    ((int_t *) SUPERLU_MALLOC ( (x) * sizeof (int_t)))

◆ MAX_3D_LEVEL

#define MAX_3D_LEVEL   32 /*allows for z dimensions of 2^32*/

◆ MPI_REQ_ALLOC

#define MPI_REQ_ALLOC (   x)    ((MPI_Request *) SUPERLU_MALLOC ( (x) * sizeof (MPI_Request)))

◆ SLU_EMPTY

#define SLU_EMPTY   (-1)

◆ SuperLU_DoubleAlign

#define SuperLU_DoubleAlign (   addr)    ( ((long)addr + 7) & ~7L )

◆ SuperLU_FIRSTCOL_OF_SNODE

#define SuperLU_FIRSTCOL_OF_SNODE (   i)    (xsup[i])

◆ SUPERLU_FREE

#define SUPERLU_FREE (   addr)    USER_FREE(addr)

◆ SuperLU_GluIntArray

#define SuperLU_GluIntArray (   n)    (5 * (n) + 5)

◆ SuperLU_L_FST_SUPC

#define SuperLU_L_FST_SUPC (   superno)    ( Lstore->sup_to_col[superno] )

◆ SuperLU_L_NZ_START

#define SuperLU_L_NZ_START (   col)    ( Lstore->nzval_colptr[col] )

◆ SuperLU_L_SUB

#define SuperLU_L_SUB (   ptr)    ( Lstore->rowind[ptr] )

◆ SuperLU_L_SUB_START

#define SuperLU_L_SUB_START (   col)    ( Lstore->rowind_colptr[col] )

◆ SUPERLU_MALLOC

#define SUPERLU_MALLOC (   size)    USER_MALLOC(size)

◆ SUPERLU_MAX

#define SUPERLU_MAX (   x,
 
)    ( (x) > (y) ? (x) : (y) )

◆ SUPERLU_MIN

#define SUPERLU_MIN (   x,
 
)    ( (x) < (y) ? (x) : (y) )

◆ SuperLU_NotDoubleAlign

#define SuperLU_NotDoubleAlign (   addr)    ( (long)addr & 7 )

◆ SuperLU_Reduce

#define SuperLU_Reduce (   alpha)    ((alpha + 1) / 2) /* i.e. (alpha-1)/2 + 1 */

◆ SuperLU_StackFull

#define SuperLU_StackFull (   x)    ( x + stack.used >= stack.size )

◆ SuperLU_TempSpace

#define SuperLU_TempSpace (   n,
 
)
Value:
( (2*w + 4 + NO_MARKER)*m*sizeof(int) + \
(w + 1)*n*sizeof(double) )
#define NO_MARKER
Definition: superlu_defs.h:248

◆ SuperLU_U_NZ_START

#define SuperLU_U_NZ_START (   col)    ( Ustore->colptr[col] )

◆ SuperLU_U_SUB

#define SuperLU_U_SUB (   ptr)    ( Ustore->rowind[ptr] )

◆ TIC

#define TIC (   t)

◆ TOC

#define TOC (   t2,
  t1 
)

◆ TRUE

#define TRUE   (1)

◆ USER_ABORT

#define USER_ABORT (   msg)    superlu_abort_and_exit_dist(msg)

◆ USER_FREE

#define USER_FREE (   addr)    superlu_free_dist(addr)

◆ USER_MALLOC

#define USER_MALLOC (   size)    superlu_malloc_dist(size)

Typedef Documentation

◆ flops_t

typedef float flops_t

◆ Logical

typedef unsigned char Logical

◆ SuperLU_ExpHeader

typedef struct e_node SuperLU_ExpHeader