PaStiX Handbook  6.4.0
api.h File Reference

Go to the source code of this file.

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_factolookside_e pastix_factolookside_t
 Factorization looking side available for IPARM_FACTO_LOOK_SIDE 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.
 
typedef spm_coeftype_t pastix_coeftype_t
 Arithmetic types. More...
 

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_FACTO_LOOK_SIDE , 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_SOCKET_NBR , IPARM_AUTOSPLIT_COMM , IPARM_GPU_NBR ,
  IPARM_GPU_MEMORY_PERCENTAGE , IPARM_GPU_MEMORY_BLOCK_SIZE , IPARM_GLOBAL_ALLOCATION , 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_MIXED ,
  IPARM_FTZ , 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_FACT_ENERGY , DPARM_MEM_FR ,
  DPARM_MEM_LR , DPARM_SOLV_TIME , DPARM_SOLV_FLOPS , DPARM_SOLV_THFLOPS ,
  DPARM_SOLV_RLFLOPS , DPARM_SOLV_ENERGY , 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 { PastixTraceNot = 0 , PastixTraceNumfact = 16 , PastixTraceSolve = 32 , PastixTraceFactAndSolve = 48 }
 Steps to trace. More...
 
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_factolookside_e { PastixFactLeftLooking = 0 , PastixFactRightLooking = 1 }
 Factorization looking side available for IPARM_FACTO_LOOK_SIDE 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:

#define PastixGeneral   SpmGeneral
 
#define PastixSymmetric   SpmSymmetric
 
#define PastixHermitian   SpmHermitian
 
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_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 spm_mtxtype_t 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.4.0
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Esragul Korkmaz
Gregoire Pichon
Tony Delarue
Date
2024-07-05

Definition in file api.h.