18#ifndef REALM_HDF5_INTERNAL_H
19#define REALM_HDF5_INTERNAL_H
28#define CHECK_HDF5(cmd) \
32 fprintf(stderr, "HDF5 error on %s:\n", #cmd); \
33 H5Eprint2(H5E_DEFAULT, stderr); \
76 bool need_alloc_result,
101 size_t field_offset,
int ndims,
const int64_t lo[],
102 const int64_t hi[],
const int order[]);
117 XferDesID _guid,
const std::vector<XferDesPortInfo> &inputs_info,
118 const std::vector<XferDesPortInfo> &outputs_info,
int _priority,
119 const void *_fill_data,
size_t _fill_size);
135 typedef std::pair<const std::string *, const std::string *> DatasetMapKey;
136 typedef std::map<DatasetMapKey, HDF5Dataset *> DatasetMap;
138 static const size_t MAX_FILL_SIZE_IN_BYTES = 65536;
152 const std::vector<XferDesPortInfo> &inputs_info,
153 const std::vector<XferDesPortInfo> &outputs_info,
155 const void *fill_data,
size_t fill_size,
Definition hdf5_internal.h:97
virtual int set_rect(const RegionInstanceImpl *inst, const InstanceLayoutPieceBase *piece, size_t field_size, size_t field_offset, int ndims, const int64_t lo[], const int64_t hi[], const int order[])
std::vector< hsize_t > extent
Definition hdf5_internal.h:111
const std::string * filename
Definition hdf5_internal.h:107
std::vector< hsize_t > offset
Definition hdf5_internal.h:110
const std::string * dsetname
Definition hdf5_internal.h:108
Definition hdf5_internal.h:142
virtual XferDes * create_xfer_des(uintptr_t dma_op, NodeID launch_node, XferDesID guid, const std::vector< XferDesPortInfo > &inputs_info, const std::vector< XferDesPortInfo > &outputs_info, int priority, XferDesRedopInfo redop_info, const void *fill_data, size_t fill_size, size_t fill_total)
long submit(Request **requests, long nr)
static const bool is_ordered
Definition hdf5_internal.h:148
HDF5Channel(BackgroundWorkManager *bgwork)
Definition hdf5_internal.h:42
hid_t file_id
Definition hdf5_internal.h:54
int ndims
Definition hdf5_internal.h:55
static const int MAX_DIM
Definition hdf5_internal.h:56
hid_t dtype_id
Definition hdf5_internal.h:54
bool read_only
Definition hdf5_internal.h:58
static HDF5Dataset * open(const char *filename, const char *dsetname, bool read_only)
hid_t dset_id
Definition hdf5_internal.h:54
hsize_t dset_size[MAX_DIM]
Definition hdf5_internal.h:57
hid_t dspace_id
Definition hdf5_internal.h:54
Definition hdf5_internal.h:61
virtual ~HDF5Memory(void)
virtual void put_bytes(off_t offset, const void *src, size_t size)
virtual AllocationResult allocate_storage_immediate(RegionInstanceImpl *inst, bool need_alloc_result, bool poisoned, TimeLimit work_until)
virtual void get_bytes(off_t offset, void *dst, size_t size)
virtual void * get_direct_ptr(off_t offset, size_t size)
virtual bool attempt_register_external_resource(RegionInstanceImpl *inst, size_t &inst_offset)
virtual void unregister_external_resource(RegionInstanceImpl *inst)
HDF5Memory(RuntimeImpl *_runtime_impl, Memory _me)
static const size_t ALIGNMENT
Definition hdf5_internal.h:63
virtual void release_storage_immediate(RegionInstanceImpl *inst, bool poisoned, TimeLimit work_until)
Definition hdf5_internal.h:89
hid_t dataset_id
Definition hdf5_internal.h:92
hid_t file_space_id
Definition hdf5_internal.h:93
hid_t mem_space_id
Definition hdf5_internal.h:93
hid_t datatype_id
Definition hdf5_internal.h:92
void * mem_base
Definition hdf5_internal.h:91
Definition hdf5_internal.h:114
long get_requests(Request **requests, long nr)
void notify_request_write_done(Request *req)
virtual Request * dequeue_request()
HDF5XferDes(uintptr_t _dma_op, Channel *_channel, NodeID _launch_node, XferDesID _guid, const std::vector< XferDesPortInfo > &inputs_info, const std::vector< XferDesPortInfo > &outputs_info, int _priority, const void *_fill_data, size_t _fill_size)
bool progress_xd(HDF5Channel *channel, TimeLimit work_until)
virtual bool request_available()
virtual void enqueue_request(Request *req)
void notify_request_read_done(Request *req)
Definition inst_layout.h:266
size_t size
Definition mem_impl.h:195
AllocationResult
Definition mem_impl.h:89
Definition inst_impl.h:54
Definition runtime_impl.h:264
Definition channel.h:1014
Channel * channel
Definition channel.h:343
Definition activemsg.h:38
int NodeID
Definition nodeset.h:40
unsigned long long XferDesID
Definition channel.h:57
NodeID src
Definition ucp_internal.h:1