api.h

Header file containing constants used in PaStiX and provided to users.

Authors

Mathieu Favergefav.nosp@m.erge@labr.nosp@m.i.fr
Xavier Lacostelac.nosp@m.oste@labr.nosp@m.i.fr
Pierre Rametra.nosp@m.met@labr.nosp@m.i.fr
Summary
api.hHeader file containing constants used in PaStiX and provided to users.
Enumerations
IPARM_ACCESSInteger parameters tabular accessors
DPARM_ACCESSFloating point parameters tabular accossors
API_TASKPaStiX step modes (index IPARM_START_TASK and IPARM_END_TASK)
API_TASK_OLD
API_VERBOSEVerbose modes (index IPARM_VERBOSE)
API_IOCheck-points modes (index IPARM_IO)
API_RHSRight-hand-side modes (index IPARM_RHS)
API_RAFRefinement modes (index IPARM_REFINEMENT)
API_FACTFactorization modes (index IPARM_FACTORISATION_TYPE)
API_SYMSymmetric modes (index IPARM_SYM)
API_ERASE_CSCCSC Management modes (index IPARM_FREE_CSCUSER and IPARM_FREE_CSCPASTIX)
API_COMM_THREAD_MODEComunication modes (index IPARM_NB_THREAD_COMM)
API_BIND_MODEThread-binding modes (index IPARM_BINTHRD)
API_BOOLEANBoolean modes (All boolean except IPARM_SYM)
API_TRACEFMTTrace modes (index IPARM_TRACEFMT)
API_ORDEROrdering modes (index IPARM_ORDERING)
MODULESModule Identification number.
ERR_NUMBERSError Numbers

Enumerations

IPARM_ACCESS

enum IPARM_ACCESS

Integer parameters tabular accessors

IPARM_MODIFY_PARAMETERIndicate if parameters have been set by user Default: API_YES IN
IPARM_START_TASKIndicate the first step to execute (see PaStiX steps) Default: API_TASK_ORDERING IN
IPARM_END_TASKIndicate the last step to execute (see PaStiX steps) Default: API_TASK_CLEAN IN
IPARM_VERBOSEVerbose mode (see Verbose modes) Default: API_VERBOSE_NO IN
IPARM_DOF_NBRDegree of freedom per node Default: 1 IN
IPARM_ITERMAXMaximum iteration number for refinement Default: 250 IN
IPARM_MATRIX_VERIFICATIONCheck the input matrix Default: API_NO IN
IPARM_MC64MC64 operation pastix.h IGNORE Default: 0 IN
IPARM_ONLY_RAFFRefinement only Default: API_NO IN
IPARM_CSCD_CORRECTIndicate if the cscd has been redistributed after blend Default: API_NO IN
IPARM_NBITERNumber of iterations performed in refinement Default: - OUT
IPARM_TRACEFMTTrace format (see Trace modes) Default: API_TRACE_PICL IN
IPARM_GRAPHDISTSpecify if the given graph is distributed or not Default: API_YES IN
IPARM_AMALGAMATION_LEVELAmalgamation level Default: 5 IN
IPARM_ORDERINGChoose ordering Default: API_ORDER_SCOTCH IN
IPARM_DEFAULT_ORDERINGUse default ordering parameters with \scotch{} or \metis{} Default: API_YES IN
IPARM_ORDERING_SWITCH_LEVELOrdering switch level (see \scotch{} User’s Guide) Default: 120 IN
IPARM_ORDERING_CMINOrdering cmin parameter (see \scotch{} User’s Guide) Default: 0 IN
IPARM_ORDERING_CMAXOrdering cmax parameter (see \scotch{} User’s Guide) Default: 100000 IN
IPARM_ORDERING_FRATOrdering frat parameter (see \scotch{} User’s Guide) Default: 8 IN
IPARM_STATIC_PIVOTINGStatic pivoting Default: - OUT
IPARM_METIS_PFACTOR\metis{} pfactor Default: 0 IN
IPARM_NNZEROSNumber of nonzero entries in the factorized matrix Default: - OUT
IPARM_ALLOCATED_TERMSMaximum memory allocated for matrix terms Default: - OUT
IPARM_BASEVALBaseval used for the matrix Default: 0 IN
IPARM_MIN_BLOCKSIZEMinimum block size Default: 60 IN
IPARM_MAX_BLOCKSIZEMaximum block size Default: 120 IN
IPARM_SCHURSchur mode Default: API_NO IN
IPARM_ISOLATE_ZEROSIsolate null diagonal terms at the end of the matrix Default: API_NO IN
IPARM_RHSD_CHECKSet to API_NO to avoid RHS redistribution Default: API_YES IN
IPARM_FACTORIZATIONFactorization mode (see Factorization modes) Default: API_FACT_LDLT IN
IPARM_NNZEROS_BLOCK_LOCALNumber of nonzero entries in the local block factorized matrix Default: - OUT
IPARM_CPU_BY_NODENumber of CPUs per SMP node Default: 0 IN
IPARM_BINDTHRDThread binding mode (see Thread binding modes) Default: API_BIND_AUTO IN
IPARM_THREAD_NBRNumber of threads per MPI process Default: 1 IN
IPARM_DISTRIBUTION_LEVELDistribution level IGNORE Default: IN
IPARM_LEVEL_OF_FILLLevel of fill for incomplete factorization Default: 1 IN
IPARM_IO_STRATEGYIO strategy (see Checkpoints modes) Default: API_IO_NO IN
IPARM_RHS_MAKINGRight-hand-side making (see Right-hand-side modes) Default: API_RHS_B IN
IPARM_REFINEMENTRefinement type (see Refinement modes) Default: API_RAF_GMRES IN
IPARM_SYMSymmetric matrix mode (see Symmetric modes) Default: API_SYM_YES IN
IPARM_INCOMPLETEIncomplete factorization Default: API_NO IN
IPARM_ABSABS (Automatic Blocksize Splitting) Default: API_NO IN
IPARM_ESPESP (Enhanced Sparse Parallelism) Default: API_NO IN
IPARM_GMRES_IMGMRES restart parameter Default: 25 IN
IPARM_FREE_CSCUSERFree user CSC Default: API_CSC_PRESERVE IN
IPARM_FREE_CSCPASTIXFree internal CSC (Use only without call to Refin. step) Default: API_CSC_PRESERVE IN
IPARM_OOC_LIMITOut of core memory limit (Mo) Default: 2000 IN
IPARM_OOC_THREADOut of core thread number IGNORE Default: 1 IN
IPARM_OOC_IDOut of core run ID IGNORE Default: - OUT
IPARM_NB_SMP_NODE_USEDNumber of SMP node used IGNORE Default: IN
IPARM_THREAD_COMM_MODEThreaded communication mode (see Communication modes) Default: API_THCOMM_DISABLED IN
IPARM_NB_THREAD_COMMNumber of thread(s) for communication Default: 1 IN
IPARM_FILL_MATRIXInitialize matrix coefficients (for test only) IGNORE Default: IN
IPARM_INERTIAReturn the inertia (symmetric matrix without pivoting) Default: - OUT
IPARM_ESP_NBTASKSReturn the number of tasks generated by ESP Default: - OUT
IPARM_ESP_THRESHOLDMinimal block sizee to switch in ESP mode (128 * 128) Default: 16384 IN
IPARM_DOF_COSTDegree of freedom for cost computation (If different from IPARM_DOF_NBR) Default: 0 IN
IPARM_MURGE_REFINEMENTEnable refinement in MURGE Default: API_YES IN
IPARM_STARPUUse StarPU runtime Default: API_NO IN
IPARM_PIDPid of the first process (used for naming the log directory) Default: -1 OUT
IPARM_ERROR_NUMBERReturn value Default: - OUT
IPARM_SIZEIparm Size IGNORE Default: IN

DPARM_ACCESS

enum DPARM_ACCESS

Floating point parameters tabular accossors

DPARM_FILL_INFill-in Default: - OUT
DPARM_MEM_MAXMaximum memory (-DMEMORY_USAGE) Default: - OUT
DPARM_EPSILON_REFINEMENTEpsilon for refinement Default: 1e^{-12} IN
DPARM_RELATIVE_ERRORRelative backward error Default: - OUT
DPARM_EPSILON_MAGN_CTRLEpsilon for magnitude control Default: 1e^{-31} IN
DPARM_ANALYZE_TIMETime for Analyse step (wallclock) Default: - OUT
DPARM_PRED_FACT_TIMEPredicted factorization time Default: - OUT
DPARM_FACT_TIMETime for Numerical Factorization step (wallclock) Default: - OUT
DPARM_SOLV_TIMETime for Solve step (wallclock) Default: - OUT
DPARM_FACT_FLOPSNumerical Factorization flops (rate!)  Default: - OUT
DPARM_SOLV_FLOPSSolve flops (rate!)  Default: - OUT
DPARM_RAFF_TIMETime for Refinement step (wallclock) Default: - OUT
DPARM_SIZEDparm Size IGNORE Default: - IN

API_TASK

enum API_TASK

PaStiX step modes (index IPARM_START_TASK and IPARM_END_TASK)

API_TASK_INITSet default parameters
API_TASK_ORDERINGOrdering
API_TASK_SYMBFACTSymbolic factorization
API_TASK_ANALYSETasks mapping and scheduling
API_TASK_NUMFACTNumerical factorization
API_TASK_SOLVENumerical solve
API_TASK_REFINENumerical refinement
API_TASK_CLEANClean

API_TASK_OLD

enum API_TASK_OLD
API_TASK_SCOTCHOrdering
API_TASK_FAXSymbolic factorization
API_TASK_BLENDTasks mapping and scheduling
API_TASK_SOPALINNumerical factorization
API_TASK_UPDOWNNumerical solve
API_TASK_REFINEMENTNumerical refinement

API_VERBOSE

enum API_VERBOSE

Verbose modes (index IPARM_VERBOSE)

API_VERBOSE_NOTSilent mode, no messages
API_VERBOSE_NOSome messages
API_VERBOSE_YESMany messages
API_VERBOSE_CHATTERBOXLike a gossip
API_VERBOSE_UNBEARABLEReally talking too much...

API_IO

enum API_IO

Check-points modes (index IPARM_IO)

API_IO_NONo output or input
API_IO_LOADLoad ordering during ordering step and symbol matrix instead of symbolic factorisation.
API_IO_SAVESave ordering during ordering step and symbol matrix instead of symbolic factorisation.
API_IO_LOAD_GRAPHLoad graph during ordering step.
API_IO_SAVE_GRAPHSave graph during ordering step.
API_IO_LOAD_CSCLoad CSC(d) during ordering step.
API_IO_SAVE_CSCSave CSC(d) during ordering step.

API_RHS

enum API_RHS

Right-hand-side modes (index IPARM_RHS)

API_RHS_BUser’s right hand side
API_RHS_1$ \forall i, X_i = 1 $
API_RHS_I$ \forall i, X_i = i $

API_RAF

enum API_RAF

Refinement modes (index IPARM_REFINEMENT)

API_RAF_GMRESGMRES
API_RAF_GRADConjugate Gradient ($LL^t$ or $LDL^t$ factorization)
API_RAF_PIVOTIterative Refinement (only for $LU$ factorization)

API_FACT

enum API_FACT

Factorization modes (index IPARM_FACTORISATION_TYPE)

API_FACT_LLT$LL^t$ Factorization
API_FACT_LDLT$LDL^t$ Factorization
API_FACT_LU$LU$ Factorization

API_SYM

enum API_SYM

Symmetric modes (index IPARM_SYM)

API_SYM_YESSymmetric matrix
API_SYM_NONonsymmetric matrix

API_ERASE_CSC

enum API_ERASE_CSC

CSC Management modes (index IPARM_FREE_CSCUSER and IPARM_FREE_CSCPASTIX)

API_CSC_PRESERVEDo not free the CSC
API_CSC_FREEFree the CSC when no longer needed

API_COMM_THREAD_MODE

enum API_COMM_THREAD_MODE

Comunication modes (index IPARM_NB_THREAD_COMM)

API_THCOMM_DISABLEDNo dedicated communication thread
API_THCOMM_ONEOne dedicated communication thread
API_THCOMM_DEFINEDGiven by IPARM_NB_THREAD_COMM
API_THCOMM_NBPROCOne communication thread per computation thread

API_BIND_MODE

enum API_BIND_MODE

Thread-binding modes (index IPARM_BINTHRD)

API_BIND_NODo not bind thread
API_BIND_AUTODefault binding
API_BIND_TABUse vector given by pastix_setBind

API_BOOLEAN

enum API_BOOLEAN

Boolean modes (All boolean except IPARM_SYM)

API_NONo
API_YESYes

API_TRACEFMT

enum API_TRACEFMT

Trace modes (index IPARM_TRACEFMT)

API_TRACE_PICLUse PICL trace format
API_TRACE_PAJEUse Paje trace format
API_TRACE_HUMREADUse human-readable text trace format
API_TRACE_UNFORMATEDUnformated trace format

API_ORDER

enum API_ORDER

Ordering modes (index IPARM_ORDERING)

API_ORDER_SCOTCHUse \scotch{} ordering
API_ORDER_METISUse \metis{} ordering
API_ORDER_PERSONALApply user’s permutation
API_ORDER_LOADLoad ordering from disk

MODULES

enum MODULES

Module Identification number.

If an error occurs, error value is set to MODULE + EER_NUMBER.

User can catch error by computing iparm[IPARM_ERROR_NUMBER]%100.

MODULE can be catch by computing iparm[IPARM_ERROR_NUMBER]iparm[IPARM_ERROR_NUMBER]%100.
MOD_UNKNOWNUnknown module
MOD_SOPALINNumerical factorisation module
MOD_BLENDAnalysing module
MOD_SCOTCHScotch module
MOD_FAXSymbolic factorisation module
MOD_ORDEROrder module
MOD_COMMONCommon module MOD_SI -
MOD_GRAPHGraph module
MOD_SYMBOLSymbol structure module
MOD_KASSKass module
MOD_BUBBLEBubble
MOD_MURGEMurge

ERR_NUMBERS

enum ERR_NUMBERS

Error Numbers

NO_ERRNo error
UNKNOWN_ERRUnknown error
ALLOC_ERRAllocation error
ASSERT_ERRError in one assertion
NOTIMPLEMENTED_ERRNot implemented feature
OUTOFMEMORY_ERRNot enough memory (OOC)
THREAD_ERRError with threads
INTERNAL_ERRInternal error
BADPARAMETER_ERRBad parameters given
FILE_ERRError in In/Out operations
BAD_DEFINE_ERRORError with defines during compilation
enum IPARM_ACCESS
Integer parameters tabular accessors
enum DPARM_ACCESS
Floating point parameters tabular accossors
enum API_TASK
PaStiX step modes (index IPARM_START_TASK and IPARM_END_TASK)
enum API_TASK_OLD
enum API_VERBOSE
Verbose modes (index IPARM_VERBOSE)
enum API_IO
Check-points modes (index IPARM_IO)
enum API_RHS
Right-hand-side modes (index IPARM_RHS)
enum API_RAF
Refinement modes (index IPARM_REFINEMENT)
enum API_FACT
Factorization modes (index IPARM_FACTORISATION_TYPE)
enum API_SYM
Symmetric modes (index IPARM_SYM)
enum API_ERASE_CSC
CSC Management modes (index IPARM_FREE_CSCUSER and IPARM_FREE_CSCPASTIX)
enum API_COMM_THREAD_MODE
Comunication modes (index IPARM_NB_THREAD_COMM)
enum API_BIND_MODE
Thread-binding modes (index IPARM_BINTHRD)
enum API_BOOLEAN
Boolean modes (All boolean except IPARM_SYM)
enum API_TRACEFMT
Trace modes (index IPARM_TRACEFMT)
enum API_ORDER
Ordering modes (index IPARM_ORDERING)
enum MODULES
Module Identification number.
enum ERR_NUMBERS
Error Numbers
Close