11 #include <sys/types.h>
70 int esdm_is_initialized();
127 typedef void* (*esdm_stream_func_t)(
esdm_dataspace_t *space,
void * buff,
void * user_ptr,
void* esdm_fill_value);
128 typedef void (*esdm_reduce_func_t)(
esdm_dataspace_t *space,
void * user_ptr,
void * stream_func_out);
134 #define esdm_sizeof(type) (type->size)
146 ESDM_FORMAT_DELETE = 1,
147 ESDM_FORMAT_CREATE = 2,
148 ESDM_FORMAT_IGNORE_ERRORS = 4,
149 ESDM_FORMAT_PURGE_RECREATE = 7
152 esdm_status esdm_mkfs(
int format_flags, data_accessibility_t target);
160 void esdm_log_on_exit(
int on);
166 void esdm_loglevel_buffer(esdm_loglevel_e loglevel);
257 bool esdm_container_dataset_exists(
esdm_container_t * container,
char const * name);
293 int64_t
const * esdm_dataset_get_actual_size(
esdm_dataset_t *dset);
473 #define esdm_simple_dataspace_construct_internal(dimCount, xOffset, xSize, yOffset, ySize, zOffset, zSize, dataType) \
474 ((esdm_simple_dspace_t){ \
475 .ptr = &(esdm_dataspace_t){ \
478 .size = (int64_t [3]){xSize, ySize, zSize}, \
479 .offset = (int64_t [3]){xOffset, yOffset, zOffset}, \
480 .strideBacking = (int64_t [3]){0}, \
491 #define esdm_dataspace_1do(offset, size, type) esdm_simple_dataspace_construct_internal(1, offset, size, 0, 0, 0, 0, type)
499 #define esdm_dataspace_1d(size, type) esdm_simple_dataspace_construct_internal(1, 0, size, 0, 0, 0, 0, type)
507 #define esdm_dataspace_2do(xOffset, xSize, yOffset, ySize, type) esdm_simple_dataspace_construct_internal(2, xOffset, xSize, yOffset, ySize, 0, 0, type)
515 #define esdm_dataspace_2d(xSize, ySize, type) esdm_simple_dataspace_construct_internal(2, 0, xSize, 0, ySize, 0, 0, type)
523 #define esdm_dataspace_3do(xOffset, xSize, yOffset, ySize, zOffset, zSize, type) esdm_simple_dataspace_construct_internal(3, xOffset, xSize, yOffset, ySize, zOffset, zSize, type)
531 #define esdm_dataspace_3d(xSize, ySize, zSize, type) esdm_simple_dataspace_construct_internal(3, 0, xSize, 0, ySize, 0, zSize, type)
Datatype primitives provided by ESDM.
esdm_status
Definition: esdm-datatypes.h:37
esdm_loglevel
Definition: esdm-datatypes.h:53
esdm_status esdm_load_config_str(const char *str)
Definition: esdm.c:57
esdm_status esdm_container_close(esdm_container_t *container)
Definition: esdm-datatypes.c:278
esdm_statistics_t esdm_write_stats()
Definition: esdm.c:265
esdm_status esdm_dataspace_create_full(int64_t dims, int64_t *size, int64_t *offset, esdm_type_t type, esdm_dataspace_t **out_dataspace)
Definition: esdm-datatypes.c:1282
void *(* esdm_stream_func_t)(esdm_dataspace_t *space, void *buff, void *user_ptr, void *esdm_fill_value)
Definition: esdm.h:127
esdm_status esdm_dataset_get_dataspace(esdm_dataset_t *dset, esdm_dataspace_t **out_dataspace)
Definition: esdm.c:68
esdm_status esdm_set_procs_per_node(int procs)
Definition: esdm.c:41
void esdm_fragment_print(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:1588
esdm_status esdm_dataspace_subspace(esdm_dataspace_t *dataspace, int64_t dims, int64_t *size, int64_t *offset, esdm_dataspace_t **out_dataspace)
Definition: esdm-datatypes.c:1378
esdm_status esdm_dataspace_makeContiguous(esdm_dataspace_t *dataspace, esdm_dataspace_t **out_dataspace)
Definition: esdm-datatypes.c:1431
esdm_status esdm_read(esdm_dataset_t *dataset, void *buf, esdm_dataspace_t *subspace)
Definition: esdm.c:199
esdm_status esdm_init()
Definition: esdm.c:79
int64_t esdm_dataspace_total_bytes(esdm_dataspace_t *d)
Definition: esdm-datatypes.c:384
esdm_status esdm_dataspace_copy_data(esdm_dataspace_t *sourceSpace, void *sourceData, esdm_dataspace_t *destSpace, void *destData)
Definition: esdm-scheduler.c:307
esdm_status esdm_dataset_create(esdm_container_t *container, const char *name, esdm_dataspace_t *dataspace, esdm_dataset_t **out_dataset)
Definition: esdm-datatypes.c:650
esdm_status esdm_container_commit(esdm_container_t *container)
Definition: esdm-datatypes.c:251
esdm_status esdm_fragment_load(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:482
esdm_status esdm_container_create(const char *name, int allow_overwrite, esdm_container_t **out_container)
Definition: esdm-datatypes.c:43
esdm_status esdm_dataspace_copy(esdm_dataspace_t *orig, esdm_dataspace_t **out_dataspace)
Definition: esdm-datatypes.c:1338
esdm_status esdm_dataset_commit(esdm_dataset_t *dataset)
Definition: esdm-datatypes.c:1076
esdm_format_flags
Definition: esdm.h:145
esdm_status esdm_fragment_retrieve(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:449
uint64_t esdm_dataspace_element_count(esdm_dataspace_t *dataspace)
Definition: esdm-datatypes.c:1604
esdm_status esdm_dataspace_fill(esdm_dataspace_t *dataspace, void *data, void *fillElement)
Definition: esdm-datatypes.c:1560
esdm_status esdm_fragment_deserialize(void *serialized_fragment, esdm_fragment_t **_out_fragment)
esdm_status esdm_dataspace_copyDatalayout(esdm_dataspace_t *dataspace, esdm_dataspace_t *strideSource)
Definition: esdm-datatypes.c:823
esdm_status esdm_fragment_destroy(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:595
esdm_status esdm_fragment_unload(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:488
void esdm_dataspace_getEffectiveStride(esdm_dataspace_t *space, int64_t *out_stride)
Definition: esdm-datatypes.c:1540
esdm_status esdm_dataset_open(esdm_container_t *container, const char *name, int esdm_mode_flags, esdm_dataset_t **out_dataset)
Definition: esdm-datatypes.c:1020
esdm_status esdm_dataspace_create(int64_t dims, int64_t *sizes, esdm_type_t type, esdm_dataspace_t **out_dataspace)
Definition: esdm-datatypes.c:1307
esdm_status esdm_finalize()
Definition: esdm.c:159
int64_t esdm_dataspace_elementOffset(esdm_dataspace_t *space, int64_t *coords)
Definition: esdm-datatypes.c:1551
esdm_status esdm_fragment_commit(esdm_fragment_t *fragment)
Definition: esdm-datatypes.c:528
esdm_status esdm_set_total_procs(int procs)
Definition: esdm.c:49
esdm_status esdm_write(esdm_dataset_t *dataset, void *buf, esdm_dataspace_t *subspace)
Definition: esdm.c:181
void esdm_dataspace_serialize(const esdm_dataspace_t *dataspace, smd_string_stream_t *stream)
Definition: esdm-datatypes.c:1469
esdm_status esdm_dataset_close(esdm_dataset_t *dataset)
Definition: esdm-datatypes.c:1180
esdm_status esdm_dataspace_destroy(esdm_dataspace_t *dataspace)
Definition: esdm-datatypes.c:1594
esdm_status esdm_container_open(const char *name, int esdm_mode_flags, esdm_container_t **out_container)
Definition: esdm-datatypes.c:182
esdm_status esdm_dataspace_set_stride(esdm_dataspace_t *dataspace, int64_t *stride)
Definition: esdm-datatypes.c:813
esdm_statistics_t esdm_read_stats()
Definition: esdm.c:263
Definition: esdm-datatypes-internal.h:41
Definition: esdm-datatypes-internal.h:59
Definition: esdm-datatypes.h:81
Definition: esdm-datatypes-internal.h:78
Definition: esdm-datatypes.h:101
Definition: esdm-datatypes-internal.h:16