22 #define RED "\x1B[31m" 24 #define ORG "\x1B[38;5;202m" 26 #define GRN "\x1B[32m" 28 #define BLU "\x1B[34m" 30 #define RESET "\x1B[0m" 71 #define FTI_IO_POSIX 1001 73 #define FTI_IO_MPI 1002 75 #define FTI_IO_FTIFF 1003 78 #define FTI_SI_FAIL 0x4 80 #define FTI_SI_SCES 0x3 82 #define FTI_SI_ACTV 0x2 84 #define FTI_SI_PEND 0x1 86 #define FTI_SI_NINI 0x0 92 #define FTI_SI_MAX_NUM (512L*1024L) 95 #define MD5_DIGEST_LENGTH 16 97 #define MD5_DIGEST_STRING_LENGTH 33 99 #ifdef ENABLE_SIONLIB // --> If SIONlib is installed 101 #define FTI_IO_SIONLIB 1004 105 #define FTI_IO_HDF5 1005 106 #ifdef ENABLE_HDF5 // --> If HDF5 is installed 110 #define FTI_DCP_MODE_OFFSET 2000 111 #define FTI_DCP_MODE_MD5 2001 112 #define FTI_DCP_MODE_CRC32 2002 542 int FTI_Init(
char *configFile, MPI_Comm globalComm);
548 size_t offset,
int id,
char* name);
550 size_t offset,
int rank,
int* dimLength,
int id,
char* name);
int FTI_GetStageDir(char *stageDir, int maxLen)
Places the FTI staging directory path into 'stageDir'.
Definition: api.c:409
int rank
Definition: fti.h:499
int reco
Definition: fti.h:368
int rank
Definition: fti.h:337
int groupRank
Definition: fti.h:464
void * ptr
Definition: fti.h:332
int FTI_InitGroup(FTIT_H5Group *h5group, char *name, FTIT_H5Group *parent)
It initialize a HDF5 group.
Definition: api.c:593
int nbNodes
Definition: fti.h:450
double lastIterTime
Definition: fti.h:374
int containerid
Definition: fti.h:192
bool update
Definition: fti.h:218
int ckptIntv
Definition: fti.h:486
int nodeSize
Definition: fti.h:453
int nodeRank
Definition: fti.h:463
bool hasCkpt
Definition: fti.h:381
FTIT_H5Group * h5group
Definition: fti.h:295
int nbApprocs
Definition: fti.h:455
double totalIterTime
Definition: fti.h:377
int FTI_BitFlip(int datasetID)
Bit-flip injection following the injection instructions.
Definition: api.c:936
struct FTIT_checkpoint FTIT_checkpoint
Checkpoint metadata.
FTIT_type FTI_UCHR
Definition: api.c:72
uintptr_t FTI_ADDRVAL
Definition: fti.h:138
FTIT_H5Group * h5group
Definition: fti.h:340
uintptr_t fptr
Definition: fti.h:196
int FTI_Protect(int id, void *ptr, long count, FTIT_type type)
It sets/resets the pointer and type to a protected variable.
Definition: api.c:663
int blockSize
Definition: fti.h:420
FTIT_StageInfo * stageInfo
Definition: fti.h:400
FTIFF_metaInfo FTIFFMeta
Definition: fti.h:397
unsigned int ckptIcnt
Definition: fti.h:383
struct FTIFF_db FTIFF_db
Information about current datablock.
struct FTIT_StageInfo FTIT_StageInfo
Staging meta info.
int eleSize
Definition: fti.h:335
uintptr_t dptr
Definition: fti.h:195
FTIT_type FTI_UINT
Definition: api.c:76
int FTI_InitType(FTIT_type *type, int size)
It initializes a data type.
Definition: api.c:201
void FTI_AddSimpleField(FTIT_complexType *typeDefinition, FTIT_type *ftiType, size_t offset, int id, char *name)
It adds a simple field in complex data type.
Definition: api.c:350
int FTI_Finalize()
It closes FTI properly on the application processes.
Definition: api.c:1350
struct FTIT_H5Group FTIT_H5Group
Definition: fti.h:274
int offset
Definition: fti.h:308
int ckptIntv
Definition: fti.h:370
FTIT_type FTI_LONG
Definition: api.c:70
long nbHashes
Definition: fti.h:202
unsigned int nbVar
Definition: fti.h:388
FTIFF_dbvar * dbvars
Definition: fti.h:219
bool hasCkpt
Definition: fti.h:194
FTIFF_db * firstdb
Definition: fti.h:395
int ckptCnt
Definition: fti.h:487
void * FTI_Realloc(int id, void *ptr)
Reallocates dataset to last checkpoint size.
Definition: api.c:837
struct FTIT_DataDiffHash FTIT_DataDiffHash
dCP information about data block.
struct FTIT_metadata FTIT_metadata
Metadata for restart.
FTIT_type ** FTI_Type
Definition: fti.h:398
int FTI_Snapshot()
Takes an FTI snapshot or recovers the data if it is a restart.
Definition: api.c:1284
int nodeID
Definition: fti.h:458
unsigned int nbVarStored
Definition: fti.h:389
int id
Definition: fti.h:331
FTIT_type FTI_USHT
Definition: api.c:74
int size
Definition: fti.h:293
int frequency
Definition: fti.h:503
int FTI_RenameGroup(FTIT_H5Group *h5group, char *name)
Renames a HDF5 group.
Definition: api.c:640
struct FTIT_type FTIT_type
Type recognized by FTI.
int numvars
Definition: fti.h:215
int lastCkptLvel
Definition: fti.h:371
int ckptDcpCnt
Definition: fti.h:489
double globMeanIter
Definition: fti.h:376
FTIT_type * type
Definition: fti.h:334
int generalTag
Definition: fti.h:430
int ckptDcpIntv
Definition: fti.h:488
int rank
Definition: fti.h:309
int initSCES
Definition: fti.h:393
bool keepL4Ckpt
Definition: fti.h:414
int splitRank
Definition: fti.h:452
double iterTime
Definition: fti.h:373
char * cptr
Definition: fti.h:204
FTIT_type FTI_CHAR
Definition: api.c:64
FTIFF_db * lastdb
Definition: fti.h:396
int counter
Definition: fti.h:504
FTIT_level
holds the level id.
Definition: fti.h:125
int FTI_RecoverVar(int id)
During the restart, recovers the given variable.
Definition: api.c:1469
long containersize
Definition: fti.h:198
int FTI_Recover()
It loads the checkpoint data.
Definition: api.c:1187
long chunksize
Definition: fti.h:197
struct FTIT_dataset FTIT_dataset
Dataset metadata.
int FTI_SendFile(char *lpath, char *rpath)
Copies file asynchronously from 'lpath' to 'rpath'.
Definition: api.c:526
#define FTI_BUFS
Definition: fti.h:33
int nbGroup
Definition: fti.h:391
int right
Definition: fti.h:465
int dcpMode
Definition: fti.h:415
int ckpt
Definition: fti.h:367
#define MD5_DIGEST_LENGTH
Definition: fti.h:95
FTIT_H5Group ** H5groups
Definition: fti.h:399
uint32_t bit32hash
Definition: fti.h:174
int l3WordSize
Definition: fti.h:432
double timer
Definition: fti.h:505
MPI_Comm FTI_COMM_WORLD
Definition: api.c:61
unsigned int nbType
Definition: fti.h:390
FTIT_type FTI_INTG
Definition: api.c:68
struct FTIT_configuration FTIT_configuration
Configuration metadata.
bool hascontent
Definition: fti.h:193
struct FTIT_injection FTIT_injection
Type to describe failure injections in FTI.
long FTI_GetStoredSize(int id)
Returns size saved in metadata of variable.
Definition: api.c:800
int idx
Definition: fti.h:191
int ckptLvel
Definition: fti.h:369
int length
Definition: fti.h:321
int finalTag
Definition: fti.h:429
bool hasCkpt
Definition: fti.h:484
int intval
Definition: fti.h:263
int nbHeads
Definition: fti.h:454
void * FTI_ADDRPTR
Definition: fti.h:139
long size
Definition: fti.h:336
MPI_Comm nodeComm
Definition: fti.h:403
bool dcpEnabled
Definition: fti.h:413
int left
Definition: fti.h:466
unsigned int ckptID
Definition: fti.h:384
int nbRequest
Definition: fti.h:238
int nbProc
Definition: fti.h:449
int id
Definition: fti.h:190
FTIT_DataDiffHash * dataDiffHash
Definition: fti.h:203
int ioMode
Definition: fti.h:433
double meanIterTime
Definition: fti.h:375
int dcpBlockSize
Definition: fti.h:416
int number
Definition: fti.h:502
int headRankNode
Definition: fti.h:462
unsigned int ckptNext
Definition: fti.h:385
struct FTIT_execution FTIT_execution
Execution metadata.
int groupID
Definition: fti.h:459
int ckptTag
Definition: fti.h:427
unsigned int ckptCnt
Definition: fti.h:382
struct FTIFF_metaInfo FTIFF_metaInfo
Meta Information about file.
int FTI_Init(char *configFile, MPI_Comm globalComm)
Initializes FTI.
Definition: api.c:101
bool hasDcp
Definition: fti.h:483
bool update
Definition: fti.h:201
int metaAlloc
Definition: fti.h:392
int saveLastCkpt
Definition: fti.h:418
FTIT_type FTI_SHRT
Definition: api.c:66
void * request
Definition: fti.h:239
MPI_Comm groupComm
Definition: fti.h:402
int headRank
Definition: fti.h:461
int sectorID
Definition: fti.h:457
union FTIT_double FTIT_double
Double mapped as two integers to allow bit-wise operations.
int test
Definition: fti.h:431
struct FTIT_typeField FTIT_typeField
Holds info about field in complex type.
unsigned int syncIter
Definition: fti.h:378
int FTI_DefineDataset(int id, int rank, int *dimLength, char *name, FTIT_H5Group *h5group)
Defines the dataset.
Definition: api.c:729
int groupSize
Definition: fti.h:456
unsigned char * md5hash
Definition: fti.h:172
struct FTIT_topology FTIT_topology
Topology metadata.
int FTI_InitComplexType(FTIT_type *newType, FTIT_complexType *typeDefinition, int length, size_t size, char *name, FTIT_H5Group *h5group)
It initializes a complex data type.
Definition: api.c:269
int stageTag
Definition: fti.h:428
int amIaHead
Definition: fti.h:460
MPI_Comm globalComm
Definition: fti.h:401
struct FTIFF_db * next
Definition: fti.h:221
int verbosity
Definition: fti.h:419
unsigned short blockSize
Definition: fti.h:173
long count
Definition: fti.h:333
FTIT_type FTI_SFLT
Definition: api.c:80
struct FTIFF_dbvar FTIFF_dbvar
Information about protected variable in datablock.
union FTIT_float FTIT_float
Float mapped as integer to allow bit-wise operations.
bool isValid
Definition: fti.h:176
bool isDcp
Definition: fti.h:482
#define MD5_DIGEST_STRING_LENGTH
Definition: fti.h:97
int id
Definition: fti.h:277
bool stagingEnabled
Definition: fti.h:412
int childrenNo
Definition: fti.h:279
int FTI_GetStageStatus(int ID)
Returns status of staging request.
Definition: api.c:467
struct FTIFF_db * previous
Definition: fti.h:220
void FTI_AddComplexField(FTIT_complexType *typeDefinition, FTIT_type *ftiType, size_t offset, int rank, int *dimLength, int id, char *name)
It adds a simple field in complex data type.
Definition: api.c:381
unsigned int ckptLast
Definition: fti.h:386
int syncIterMax
Definition: fti.h:379
bool dirty
Definition: fti.h:175
int myRank
Definition: fti.h:451
int index
Definition: fti.h:500
FTIT_type FTI_ULNG
Definition: api.c:78
long dbsize
Definition: fti.h:216
FTIT_complexType * structure
Definition: fti.h:294
int FTI_Status()
It returns the current status of the recovery flag.
Definition: api.c:183
double value
Definition: fti.h:249
int isInline
Definition: fti.h:485
int position
Definition: fti.h:501
unsigned int minuteCnt
Definition: fti.h:380
FTIT_type FTI_DBLE
Definition: api.c:82
FTIT_type FTI_LDBE
Definition: api.c:84
int FTI_Checkpoint(int id, int level)
It takes the checkpoint and triggers the post-ckpt. work.
Definition: api.c:994
float value
Definition: fti.h:262
long ckptSize
Definition: fti.h:387
int wasLastOffline
Definition: fti.h:372
int typeID
Definition: fti.h:307
int transferSize
Definition: fti.h:421
struct FTIT_complexType FTIT_complexType
Type that consists of other FTI types.
Definition: fti.h:272
int id
Definition: fti.h:292