Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
hdf5_module.h
Go to the documentation of this file.
1/*
2 * Copyright 2025 Stanford University, NVIDIA Corporation
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef REALM_HDF5_MODULE_H
19#define REALM_HDF5_MODULE_H
20
21#include "realm/module.h"
22
23namespace Realm {
24
25 namespace HDF5 {
26
27 class HDF5Memory;
28
30 friend class HDF5Module;
31
32 protected:
34
35 public:
36 virtual void configure_from_cmdline(std::vector<std::string> &cmdline);
37
38 protected:
39 bool cfg_showerrors = true;
40 };
41
42 // our interface to the rest of the runtime
43 class HDF5Module : public Module {
44 protected:
46
47 public:
48 virtual ~HDF5Module(void);
49
51
52 static Module *create_module(RuntimeImpl *runtime);
53
54 // do any general initialization - this is called after all configuration is
55 // complete
56 virtual void initialize(RuntimeImpl *runtime);
57
58 // create any memories provided by this module (default == do nothing)
59 // (each new MemoryImpl should use a Memory from RuntimeImpl::next_local_memory_id)
60 virtual void create_memories(RuntimeImpl *runtime);
61
62 // create any processors provided by the module (default == do nothing)
63 // (each new ProcessorImpl should use a Processor from
64 // RuntimeImpl::next_local_processor_id)
65 virtual void create_processors(RuntimeImpl *runtime);
66
67 // create any DMA channels provided by the module (default == do nothing)
68 virtual void create_dma_channels(RuntimeImpl *runtime);
69
70 // create any code translators provided by the module (default == do nothing)
71 virtual void create_code_translators(RuntimeImpl *runtime);
72
73 // clean up any common resources created by the module - this will be called
74 // after all memories/processors/etc. have been shut down and destroyed
75 virtual void cleanup(void);
76
77 public:
79
82
84 };
85
86 }; // namespace HDF5
87
88}; // namespace Realm
89
90#endif
Definition hdf5_internal.h:61
Definition hdf5_module.h:29
bool cfg_showerrors
Definition hdf5_module.h:39
virtual void configure_from_cmdline(std::vector< std::string > &cmdline)
Definition hdf5_module.h:43
virtual ~HDF5Module(void)
virtual void create_code_translators(RuntimeImpl *runtime)
unsigned version_major
Definition hdf5_module.h:80
unsigned version_minor
Definition hdf5_module.h:80
HDF5Memory * hdf5mem
Definition hdf5_module.h:83
static Module * create_module(RuntimeImpl *runtime)
virtual void create_processors(RuntimeImpl *runtime)
virtual void initialize(RuntimeImpl *runtime)
virtual void create_memories(RuntimeImpl *runtime)
static ModuleConfig * create_module_config(RuntimeImpl *runtime)
virtual void cleanup(void)
HDF5ModuleConfig * config
Definition hdf5_module.h:78
bool threadsafe
Definition hdf5_module.h:81
virtual void create_dma_channels(RuntimeImpl *runtime)
unsigned version_rel
Definition hdf5_module.h:80
Definition module_config.h:32
Definition module.h:42
Definition runtime_impl.h:264
Definition activemsg.h:38