
Note that this means ALL procs in the parent job are updated, even though they may not be participating in the comm_spawn. This doesn't really hurt anything - just unnecessary. Comm_spawn still has a problem when a child process shares a node with a parent, so this doesn't fix everything. It only fixes the bug of ensuring all procs know how to talk to each other. This commit was SVN r16460.
59 строки
1.5 KiB
C
59 строки
1.5 KiB
C
/*
|
|
* Copyright (c) 2007 Los Alamos National Security, LLC.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef MCA_ROUTED_TREE_ROUTED_TREE_H
|
|
#define MCA_ROUTED_TREE_ROUTED_TREE_H
|
|
|
|
#include "orte/mca/routed/routed.h"
|
|
|
|
#include "opal/class/opal_list.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
struct orte_routed_tree_entry_t {
|
|
opal_list_item_t super;
|
|
orte_process_name_t target;
|
|
orte_process_name_t route;
|
|
};
|
|
typedef struct orte_routed_tree_entry_t orte_routed_tree_entry_t;
|
|
OBJ_CLASS_DECLARATION(orte_routed_tree_entry_t);
|
|
|
|
|
|
struct orte_routed_tree_module_t {
|
|
orte_routed_module_t super;
|
|
opal_list_t peer_list;
|
|
opal_list_t vpid_wildcard_list;
|
|
opal_list_t jobid_wildcard_list;
|
|
orte_routed_tree_entry_t full_wildcard_entry;
|
|
};
|
|
typedef struct orte_routed_tree_module_t orte_routed_tree_module_t;
|
|
|
|
|
|
ORTE_MODULE_DECLSPEC extern orte_routed_component_t mca_routed_tree_component;
|
|
|
|
extern orte_routed_tree_module_t orte_routed_tree_module;
|
|
|
|
int orte_routed_tree_module_init(void);
|
|
|
|
int orte_routed_tree_finalize(void);
|
|
|
|
int orte_routed_tree_update_route(orte_process_name_t *target,
|
|
orte_process_name_t *route);
|
|
|
|
orte_process_name_t orte_routed_tree_get_route(orte_process_name_t *target);
|
|
|
|
int orte_routed_tree_init_routes(orte_jobid_t job, orte_gpr_notify_data_t *ndat);
|
|
|
|
int orte_routed_tree_warmup_routes(void);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|