135 std::map<std::string, ModuleConfig *> &module_configs);
147 template <
typename T>
154 return T::create_module(
runtime);
159 return T::create_module_config(
runtime);
175 const char ***argv)
const = 0;
178 template <
typename T>
187 const char ***argv)
const
189 return T::create_network_module(
runtime, argc, argv);
195 const std::string &name,
size_t order = 9999);
209#define REGISTER_REALM_MODULE_CONFIG_DYNAMIC(classname) \
211 REALM_INTERNAL_API_EXTERNAL_LINKAGE char realm_module_version[] = REALM_VERSION; \
212 REALM_INTERNAL_API_EXTERNAL_LINKAGE Realm::ModuleConfig * \
213 create_realm_module_config(Realm::RuntimeImpl *runtime) \
215 return classname::create_module_config(runtime); \
218#define REGISTER_REALM_MODULE_DYNAMIC(classname) \
220 REALM_INTERNAL_API_EXTERNAL_LINKAGE char realm_module_version[] = REALM_VERSION; \
221 REALM_INTERNAL_API_EXTERNAL_LINKAGE Realm::Module * \
222 create_realm_module(Realm::RuntimeImpl *runtime) \
224 return classname::create_module(runtime); \
227#define REGISTER_REALM_NETWORK_MODULE_DYNAMIC(classname) \
229 REALM_INTERNAL_API_EXTERNAL_LINKAGE char realm_module_version[] = REALM_VERSION; \
230 REALM_INTERNAL_API_EXTERNAL_LINKAGE Realm::NetworkModule * \
231 create_realm_network_module(Realm::RuntimeImpl *runtime, int *argc, \
232 const char ***argv) \
234 return classname::create_network_module(runtime, argc, argv); \
Definition module_config.h:32
NetworkRegistrationBase * next
Definition module.h:176
virtual NetworkModule * create_network_module(RuntimeImpl *runtime, int *argc, const char ***argv) const =0
NetworkRegistrationBase()
Definition module.h:171
virtual NetworkModule * create_network_module(RuntimeImpl *runtime, int *argc, const char ***argv) const
Definition module.h:186
NetworkRegistration(const std::string &name, size_t order=9999)
Definition module.h:181
StaticRegistrationBase * next
Definition module.h:145
virtual ModuleConfig * create_module_config(RuntimeImpl *runtime) const =0
StaticRegistrationBase()
Definition module.h:140
virtual Module * create_module(RuntimeImpl *runtime) const =0
virtual ModuleConfig * create_module_config(RuntimeImpl *runtime) const
Definition module.h:157
StaticRegistration(void)
Definition module.h:150
virtual Module * create_module(RuntimeImpl *runtime) const
Definition module.h:152
RuntimeImpl * runtime
Definition module.h:202
static bool check_symbol_visibility(void)
std::vector< void * > network_sofile_handles
Definition module.h:205
static void add_static_registration(StaticRegistrationBase *reg)
std::vector< void * > module_sofile_handles
Definition module.h:204
void create_dynamic_module_configs(std::vector< std::string > &cmdline, std::map< std::string, ModuleConfig * > &module_configs)
static void add_network_registration(NetworkRegistrationBase *reg, const std::string &name, size_t order=9999)
void load_module_sofiles(std::vector< std::string > &cmdline)
void create_network_modules(std::vector< NetworkModule * > &modules, int *argc, const char ***argv)
bool sofile_loaded
Definition module.h:203
void create_dynamic_modules(std::vector< Module * > &modules)
void create_static_modules(std::vector< Module * > &modules)
ModuleRegistrar(RuntimeImpl *_runtime)
void unload_module_sofiles(void)
void create_static_module_configs(std::map< std::string, ModuleConfig * > &module_configs)
virtual ~ModuleSpecificInfo()
ModuleSpecificInfo * next
Definition module.h:105
const std::string & get_name(void) const
virtual void cleanup(void)
virtual void pre_detach_cleanup(void)
virtual void create_memories(RuntimeImpl *runtime)
virtual void create_dma_channels(RuntimeImpl *runtime)
virtual void create_processors(RuntimeImpl *runtime)
virtual void create_code_translators(RuntimeImpl *runtime)
Module(const std::string &_name)
virtual void initialize(RuntimeImpl *runtime)
std::string name
Definition module.h:93
Definition runtime_impl.h:264
#define REALM_INTERNAL_API_EXTERNAL_LINKAGE
Definition compiler_support.h:218
Definition activemsg.h:38