PaStiX Handbook  6.2.1
api.h File Reference

Go to the source code of this file.

Macros

#define pastix_coeftype_t   spm_coeftype_t
 Arithmetic types. More...
 
#define PastixPattern   SpmPattern
 
#define PastixFloat   SpmFloat
 
#define PastixDouble   SpmDouble
 
#define PastixComplex32   SpmComplex32
 
#define PastixComplex64   SpmComplex64
 

Typedefs

typedef BEGIN_C_DECLS enum pastix_iparm_e pastix_iparm_t
 Integer parameters.
 
typedef enum pastix_dparm_e pastix_dparm_t
 Float parameters.
 
typedef enum pastix_task_e pastix_task_t
 Main steps for the pastix() interface. More...
 
typedef enum pastix_trace_e pastix_trace_t
 Steps to trace.
 
typedef enum pastix_verbose_e pastix_verbose_t
 Verbose modes.
 
typedef enum pastix_io_e pastix_io_t
 IO strategy for graph and ordering.
 
typedef enum pastix_fact_mode_e pastix_fact_mode_t
 Factorization Schur modes. More...
 
typedef enum pastix_solv_mode_e pastix_solv_mode_t
 Solve Schur modes. More...
 
typedef enum pastix_refine_e pastix_refine_t
 Iterative refinement algorithms.
 
typedef enum pastix_factotype_e pastix_factotype_t
 Factorization algorithms available for IPARM_FACTORIZATION parameter.
 
typedef enum pastix_scheduler_e pastix_scheduler_t
 Scheduler.
 
typedef enum pastix_ordering_e pastix_ordering_t
 Ordering strategy.
 
typedef enum pastix_mpithreadmode_e pastix_mpithreadmode_t
 MPI thread mode.
 
typedef enum pastix_error_e pastix_error_t
 Error codes.
 
typedef enum pastix_compress_when_e pastix_compress_when_t
 Compression strategy available for IPARM_COMPRESS_WHEN parameter.
 
typedef enum pastix_compress_method_e pastix_compress_method_t
 Compression method available for IPARM_COMPRESS_METHOD parameter.
 
typedef enum pastix_compress_ortho_e pastix_compress_ortho_t
 Orthogonalization method available for IPARM_COMPRESS_ORTHO parameter.
 
typedef enum pastix_split_e pastix_split_t
 Splitting strategy available for IPARM_SPLITTING_STRATEGY parameter.
 

Enumerations

enum  pastix_iparm_e {
  IPARM_VERBOSE, IPARM_IO_STRATEGY, IPARM_NNZEROS, IPARM_NNZEROS_BLOCK_LOCAL,
  IPARM_ALLOCATED_TERMS, IPARM_PRODUCE_STATS, IPARM_TRACE, IPARM_MC64,
  IPARM_ORDERING, IPARM_ORDERING_DEFAULT, IPARM_SCOTCH_MT, IPARM_SCOTCH_SWITCH_LEVEL,
  IPARM_SCOTCH_CMIN, IPARM_SCOTCH_CMAX, IPARM_SCOTCH_FRAT, IPARM_METIS_CTYPE,
  IPARM_METIS_RTYPE, IPARM_METIS_NO2HOP, IPARM_METIS_NSEPS, IPARM_METIS_NITER,
  IPARM_METIS_UFACTOR, IPARM_METIS_COMPRESS, IPARM_METIS_CCORDER, IPARM_METIS_PFACTOR,
  IPARM_METIS_SEED, IPARM_METIS_DBGLVL, IPARM_AMALGAMATION_LVLBLAS, IPARM_AMALGAMATION_LVLCBLK,
  IPARM_REORDERING_SPLIT, IPARM_REORDERING_STOP, IPARM_SPLITTING_STRATEGY, IPARM_SPLITTING_LEVELS_PROJECTIONS,
  IPARM_SPLITTING_LEVELS_KWAY, IPARM_SPLITTING_PROJECTIONS_DEPTH, IPARM_SPLITTING_PROJECTIONS_DISTANCE, IPARM_SPLITTING_PROJECTIONS_WIDTH,
  IPARM_MIN_BLOCKSIZE, IPARM_MAX_BLOCKSIZE, IPARM_TASKS2D_LEVEL, IPARM_TASKS2D_WIDTH,
  IPARM_ALLCAND, IPARM_INCOMPLETE, IPARM_LEVEL_OF_FILL, IPARM_FACTORIZATION,
  IPARM_STATIC_PIVOTING, IPARM_FREE_CSCUSER, IPARM_SCHUR_FACT_MODE, IPARM_TRANSPOSE_SOLVE,
  IPARM_SCHUR_SOLV_MODE, IPARM_APPLYPERM_WS, IPARM_REFINEMENT, IPARM_NBITER,
  IPARM_ITERMAX, IPARM_GMRES_IM, IPARM_SCHEDULER, IPARM_THREAD_NBR,
  IPARM_AUTOSPLIT_COMM, IPARM_GPU_NBR, IPARM_GPU_MEMORY_PERCENTAGE, IPARM_GPU_MEMORY_BLOCK_SIZE,
  IPARM_COMPRESS_MIN_WIDTH, IPARM_COMPRESS_MIN_HEIGHT, IPARM_COMPRESS_WHEN, IPARM_COMPRESS_METHOD,
  IPARM_COMPRESS_ORTHO, IPARM_COMPRESS_RELTOL, IPARM_COMPRESS_PRESELECT, IPARM_COMPRESS_ILUK,
  IPARM_MPI_THREAD_LEVEL, IPARM_MODIFY_PARAMETER, IPARM_START_TASK, IPARM_END_TASK,
  IPARM_FLOAT, IPARM_MTX_TYPE, IPARM_DOF_NBR, IPARM_SIZE
}
 Integer parameters. More...
 
enum  pastix_dparm_e {
  DPARM_FILL_IN, DPARM_EPSILON_REFINEMENT, DPARM_RELATIVE_ERROR, DPARM_EPSILON_MAGN_CTRL,
  DPARM_ORDER_TIME, DPARM_SYMBFACT_TIME, DPARM_REORDER_TIME, DPARM_BLEND_TIME,
  DPARM_ANALYZE_TIME, DPARM_PRED_FACT_TIME, DPARM_FACT_TIME, DPARM_FACT_FLOPS,
  DPARM_FACT_THFLOPS, DPARM_FACT_RLFLOPS, DPARM_SOLV_TIME, DPARM_SOLV_FLOPS,
  DPARM_SOLV_THFLOPS, DPARM_SOLV_RLFLOPS, DPARM_REFINE_TIME, DPARM_A_NORM,
  DPARM_COMPRESS_TOLERANCE, DPARM_COMPRESS_MIN_RATIO, DPARM_SIZE
}
 Float parameters. More...
 
enum  pastix_task_e {
  PastixTaskInit = 0, PastixTaskOrdering = 1, PastixTaskSymbfact = 2, PastixTaskAnalyze = 3,
  PastixTaskNumfact = 4, PastixTaskSolve = 5, PastixTaskRefine = 6, PastixTaskClean = 7
}
 Main steps for the pastix() interface. More...
 
enum  pastix_trace_e { PastixTraceNumfact = 16, PastixTraceSolve = 32 }
 Steps to trace.
 
enum  pastix_verbose_e { PastixVerboseNot = 0, PastixVerboseNo = 1, PastixVerboseYes = 2 }
 Verbose modes. More...
 
enum  pastix_io_e {
  PastixIONo = 0, PastixIOLoad = 1, PastixIOSave = 2, PastixIOLoadGraph = 4,
  PastixIOSaveGraph = 8, PastixIOLoadCSC = 16, PastixIOSaveCSC = 32
}
 IO strategy for graph and ordering. More...
 
enum  pastix_fact_mode_e { PastixFactModeLocal = 0, PastixFactModeSchur = 1, PastixFactModeBoth = 2 }
 Factorization Schur modes. More...
 
enum  pastix_solv_mode_e { PastixSolvModeLocal = 0, PastixSolvModeInterface = 1, PastixSolvModeSchur = 2 }
 Solve Schur modes. More...
 
enum  pastix_refine_e { PastixRefineGMRES, PastixRefineCG, PastixRefineSR, PastixRefineBiCGSTAB }
 Iterative refinement algorithms. More...
 
enum  pastix_factotype_e {
  PastixFactPOTRF = 0, PastixFactSYTRF = 1, PastixFactGETRF = 2, PastixFactPXTRF = 3,
  PastixFactHETRF = 4, PastixFactLLH = 0, PastixFactLDLT = 1, PastixFactLU = 2,
  PastixFactLLT = 3, PastixFactLDLH = 4
}
 Factorization algorithms available for IPARM_FACTORIZATION parameter. More...
 
enum  pastix_scheduler_e {
  PastixSchedSequential = 0, PastixSchedStatic = 1, PastixSchedParsec = 2, PastixSchedStarPU = 3,
  PastixSchedDynamic = 4
}
 Scheduler. More...
 
enum  pastix_ordering_e {
  PastixOrderScotch, PastixOrderMetis, PastixOrderPersonal, PastixOrderPtScotch,
  PastixOrderParMetis
}
 Ordering strategy. More...
 
enum  pastix_mpithreadmode_e {
  PastixMpiNone = 0, PastixMpiThreadSingle = 1, PastixMpiThreadFunneled = 2, PastixMpiThreadSerialized = 3,
  PastixMpiThreadMultiple = 4
}
 MPI thread mode. More...
 
enum  pastix_error_e {
  PASTIX_SUCCESS = 0, PASTIX_ERR_UNKNOWN = 1, PASTIX_ERR_ALLOC = 2, PASTIX_ERR_NOTIMPLEMENTED = 3,
  PASTIX_ERR_OUTOFMEMORY = 4, PASTIX_ERR_THREAD = 5, PASTIX_ERR_INTERNAL = 6, PASTIX_ERR_BADPARAMETER = 7,
  PASTIX_ERR_FILE = 8, PASTIX_ERR_INTEGER_TYPE = 9, PASTIX_ERR_IO = 10, PASTIX_ERR_MPI = 11
}
 Error codes. More...
 
enum  pastix_compress_when_e { PastixCompressNever, PastixCompressWhenBegin, PastixCompressWhenEnd, PastixCompressWhenDuring }
 Compression strategy available for IPARM_COMPRESS_WHEN parameter. More...
 
enum  pastix_compress_method_e {
  PastixCompressMethodSVD, PastixCompressMethodPQRCP, PastixCompressMethodRQRCP, PastixCompressMethodTQRCP,
  PastixCompressMethodRQRRT, PastixCompressMethodNbr
}
 Compression method available for IPARM_COMPRESS_METHOD parameter. More...
 
enum  pastix_compress_ortho_e { PastixCompressOrthoCGS, PastixCompressOrthoQR, PastixCompressOrthoPartialQR }
 Orthogonalization method available for IPARM_COMPRESS_ORTHO parameter. More...
 
enum  pastix_split_e { PastixSplitNot, PastixSplitKway, PastixSplitKwayProjections }
 Splitting strategy available for IPARM_SPLITTING_STRATEGY parameter. More...
 

Constants compatible with CBLAS & LAPACK & PLASMA

The naming and numbering of the following constants is consistent with:

enum  pastix_layout_e { PastixRowMajor = 101, PastixColMajor = 102 }
 Direction of the matrix storage. More...
 
enum  pastix_trans_e { PastixNoTrans = 111, PastixTrans = 112, PastixConjTrans = 113 }
 Transpostion. More...
 
enum  pastix_mtxtype_e { PastixGeneral = PastixNoTrans, PastixSymmetric = PastixTrans, PastixHermitian = PastixConjTrans }
 Matrix symmetry type property. More...
 
enum  pastix_uplo_e { PastixUpper = 121, PastixLower = 122, PastixUpperLower = 123 }
 Upper/Lower part. More...
 
enum  pastix_coefside_e { PastixLCoef = 0, PastixUCoef = 1, PastixLUCoef = 2 }
 Data blocks used in the kernel. More...
 
enum  pastix_diag_e { PastixNonUnit = 131, PastixUnit = 132 }
 Diagonal. More...
 
enum  pastix_side_e { PastixLeft = 141, PastixRight = 142 }
 Side of the operation. More...
 
enum  pastix_normtype_e { PastixOneNorm = 171, PastixFrobeniusNorm = 174, PastixInfNorm = 175, PastixMaxNorm = 177 }
 Norms. More...
 
enum  pastix_dir_e { PastixDirForward = 391, PastixDirBackward = 392 }
 Direction. More...
 
typedef enum pastix_layout_e pastix_layout_t
 Direction of the matrix storage.
 
typedef enum pastix_trans_e pastix_trans_t
 Transpostion.
 
typedef enum pastix_mtxtype_e pastix_mtxtype_t
 Matrix symmetry type property. More...
 
typedef enum pastix_uplo_e pastix_uplo_t
 Upper/Lower part.
 
typedef enum pastix_coefside_e pastix_coefside_t
 Data blocks used in the kernel. More...
 
typedef enum pastix_diag_e pastix_diag_t
 Diagonal.
 
typedef enum pastix_side_e pastix_side_t
 Side of the operation.
 
typedef enum pastix_normtype_e pastix_normtype_t
 Norms.
 
typedef enum pastix_dir_e pastix_dir_t
 Direction.
 

Detailed Description

PaStiX API enums parameters.

This file is generated automatically. If you want to modify it, modify ${PASTIX_HOME}/tools/gen_param/pastix_[iparm/dparm/enums].py and run ${PASTIX_HOME}/tools/gen_param/gen_parm_files.py ${PASTIX_HOME}.

Version
6.2.1
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Gregoire Pichon
Tony Delarue
Date
2021-07-02

Definition in file api.h.