Data Structures | |
struct | UnifySingleId |
struct | UnifyDoubleId |
struct | UnifyMach |
struct | UnifyNode |
struct | UnifyProc |
struct | UnifyThrd |
struct | UnifyLoc |
struct | UnifyRegion |
struct | UnifyCsite |
struct | UnifyCpath |
struct | UnifyMetric |
struct | UnifyGroupRep |
struct | UnifyGroup |
struct | UnifyCom |
struct | UnifyCart |
struct | UnifyWin |
struct | GrpCount |
struct | ComCount |
struct | CartCoord |
struct | EsdUnifyData_struct |
Typedefs | |
typedef struct EsdUnifyData_struct | EsdUnifyData |
Opaque data structure storing global and per-process unification data. | |
Enumerations | |
enum | esd_unify_map_t { ESD_UNIFY_STRMAP, ESD_UNIFY_MACHMAP, ESD_UNIFY_NODEMAP, ESD_UNIFY_LOCMAP, ESD_UNIFY_FILEMAP, ESD_UNIFY_REGMAP, ESD_UNIFY_CSITEMAP, ESD_UNIFY_CPATHMAP, ESD_UNIFY_COMMAP, ESD_UNIFY_WINMAP, ESD_UNIFY_NUM_MAPS } |
Enumeration type defining symbolic names for the different per-process identifier mapping tables handled by EsdUnifyData. More... | |
enum | esd_group_rep_t { ESD_GROUP_BITVECTOR, ESD_GROUP_SPARSE, ESD_GROUP_INV_SPARSE, ESD_GROUP_RLE } |
Enumeration type defining type of group vector representation in memory. More... | |
Functions | |
Unification data handling | |
EXTERN EsdUnifyData * | esd_unify_create () |
Creates and returns an new instance of type EsdUnifyData. | |
EXTERN void | esd_unify_free (EsdUnifyData *instance) |
Destroys the given instance of EsdUnifyData and releases the allocated memory. | |
EXTERN void | esd_unify_buffer (EsdUnifyData *instance, const buffer_t buffer, size_t size, ElgOut *mapfile) |
Processes size bytes of the local definition record data provided in the given memory buffer. | |
EXTERN EpkIdMap * | esd_unify_get_map (const EsdUnifyData *instance, esd_unify_map_t map_id) |
Returns one of the per-process identifier mapping tables stored in the unification data object instance. | |
EXTERN void | esd_unify_clear_maps (EsdUnifyData *instance) |
Clears the per-process identifier mapping tables stored in the unification data object instance. | |
EXTERN void | esd_unify_write_defs (EsdUnifyData *instance, ElgOut *deffile) |
Writes the unified definition data collected in the given EsdUnifyData instance to the EPILOG output stream deffile. |
The basic usage model of this module is as follows: Before any data can be processed, an unification data structure has to be created.
EsdUnifyData* data = esd_unify_create();
To be able to access these mapping tables afterwards, they are not cleared automatically, i.e., this has to be done manually before processing the data of another process.
for (i = 0; i < num_procs; i++) {
esd_unify_buffer(data, buffer[i], bufsize[i], mapfile);
esd_unify_clear_maps(data);
}
esd_unify_write_defs(data, defsfile); esd_unify_free(data);
assert()
macro to check various conditions (especially the values of given parameters) at runtime, which can cause a performance penalty. typedef struct EsdUnifyData_struct EsdUnifyData |
enum esd_group_rep_t |
enum esd_unify_map_t |
EXTERN void esd_unify_buffer | ( | EsdUnifyData * | instance, | |
const buffer_t | buffer, | |||
size_t | size, | |||
ElgOut * | mapfile | |||
) |
The unified definition data is collected in the unification data object instance. In addition, the per-process data (mapping tables etc.) is stored as well as written to the EPILOG output stream mapfile (if defined).
In case of an error (e.g., if the buffer does not contain EPILOG data), an error message is printed and the program is aborted.
instance | Unification data object | |
buffer | Memory buffer containing the definition record data | |
size | Size of buffer in bytes | |
mapfile | EPILOG output stream |
EXTERN void esd_unify_clear_maps | ( | EsdUnifyData * | instance | ) |
instance | Unification data object |
EXTERN EsdUnifyData* esd_unify_create | ( | ) |
Creates and returns an new instance of type EsdUnifyData. If the memory allocation request can not be fulfilled, an error message is printed and the program is aborted.
EXTERN void esd_unify_free | ( | EsdUnifyData * | instance | ) |
instance | Object to be freed |
EXTERN EpkIdMap* esd_unify_get_map | ( | const EsdUnifyData * | instance, | |
esd_unify_map_t | map_id | |||
) |
The requested table is specified by map_id.
instance | Unification data object | |
map_id | Requested mapping table |
EXTERN void esd_unify_write_defs | ( | EsdUnifyData * | instance, | |
ElgOut * | deffile | |||
) |
instance | Object containing the unified definition data | |
deffile | EPILOG output stream |
![]() |
Copyright © 1998–2010 Forschungszentrum Jülich, Jülich Supercomputing Centre |