extern xbt_dict_t defined_types; /* from instr_interface.c */
-typedef enum {
- TYPE_VARIABLE,
- TYPE_LINK,
- TYPE_CONTAINER,
- TYPE_STATE,
-} e_entity_types;
-
-typedef struct s_type *type_t;
-typedef struct s_type {
- char *id;
- char *name;
- e_entity_types kind;
- struct s_type *father;
- xbt_dict_t children;
-}s_type_t;
-
-typedef enum {
- INSTR_HOST,
- INSTR_LINK,
- INSTR_ROUTER,
- INSTR_AS,
-} e_container_types;
-
-typedef struct s_container *container_t;
-typedef struct s_container {
- char *name; /* Unique name of this container */
- char *id; /* Unique id of this container */
- type_t type; /* Type of this container */
- int level; /* Level in the hierarchy, root level is 0 */
- e_container_types kind; /* This container is of what kind */
- struct s_container *father;
- xbt_dict_t children;
-}s_container_t;
-
static int platform_created = 0; /* indicate whether the platform file has been traced */
static type_t rootType = NULL; /* the root type */
static container_t rootContainer = NULL; /* the root container */
new->name = xbt_strdup (name); // name of the container
new->id = xbt_strdup (id_str); // id (or alias) of the container
new->father = father;
- // father of this container
- if (new->father){
- new->father = xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
- }else{
- new->father = NULL;
- }
// level depends on level of father
if (new->father){
new->level = new->father->level+1;
case INSTR_HOST: new->type = getContainerType ("HOST", new->father->type); break;
case INSTR_LINK: new->type = getContainerType ("LINK", new->father->type); break;
case INSTR_ROUTER: new->type = getContainerType ("ROUTER", new->father->type); break;
+ case INSTR_SMPI: new->type = getContainerType ("MPI", new->father->type); break;
default: xbt_die ("Congratulations, you have found a bug on newContainer function of instr_routing.c"); break;
}
}
if (TRACE_smpi_is_enabled()) {
if (!TRACE_smpi_is_grouped()){
container_t father = xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
- type_t mpi = getContainerType("MPI_PROCESS", father->type);
+ type_t mpi = getContainerType("MPI", father->type);
getStateType ("MPI_STATE", mpi);
getLinkType ("MPI_LINK", rootType, mpi, mpi);
}
if (TRACE_smpi_is_enabled()) {
if (TRACE_smpi_is_grouped()){
- type_t mpi = getContainerType("MPI_PROCESS", new->type);
+ type_t mpi = getContainerType("MPI", new->type);
getStateType ("MPI_STATE", mpi);
getLinkType ("MPI_LINK", rootType, mpi, mpi);
}