Go to the source code of this file.
Data Structures | |
struct | hash_t |
struct | hash2_t |
Functions | |
int | nb_nodes (tm_topology_t *topology) |
void | free_topology (tm_topology_t *topology) |
double | print_sol (int N, int *Value, double **comm, double **arch) |
void | print_1D_tab (int *tab, int N) |
int | nb_lines (char *filename) |
void | init_comm (char *filename, int N, double **comm) |
int | build_comm (char *filename, double ***pcomm) |
void | map_Packed (tm_topology_t *topology, int N, int *Value) |
void | map_RR (int N, int *Value) |
int | hash_asc (const void *x1, const void *x2) |
int * | generate_random_sol (tm_topology_t *topology, int N, int level, int seed) |
double | eval_sol (int *sol, int N, double **comm, double **arch) |
void | exchange (int *sol, int i, int j) |
double | gain_exchange (int *sol, int l, int m, double eval1, int N, double **comm, double **arch) |
void | select_max (int *l, int *m, double **gain, int N, int *state) |
void | compute_gain (int *sol, int N, double **gain, double **comm, double **arch) |
void | map_MPIPP (tm_topology_t *topology, int nb_seed, int N, int *Value, double **comm, double **arch) |
void | map_tree (tree_t *t1, tree_t *t2) |
void | depth_first (tree_t *comm_tree, int *proc_list, int *i) |
int | nb_leaves (tree_t *comm_tree) |
void | map_topology (tm_topology_t *topology, tree_t *comm_tree, int nb_proc, int level, int *sigma, int *k) |
void | map_topology_simple (tm_topology_t *topology, tree_t *comm_tree, int *sigma, int *k) |
static int | int_cmp (const void *x1, const void *x2) |
int | decompose (int n, int optimize, int *tab) |
tree_t * | build_synthetic_topology_old (int *synt_tab, int id, int depth, int nb_levels) |
void | display_topology (tm_topology_t *topology) |
tm_topology_t * | build_synthetic_topology (int *arity, int nb_levels, int *core_numbering, int nb_core_per_nodes) |
void | build_synthetic_proc_id (tm_topology_t *topology) |
void | update_comm_speed (double **comm_speed, int old_size, int new_size) |
void | TreeMatchMapping (int nb_obj, int nb_proc, double **comm_mat, double *obj_weight, double *comm_speed, int d, int *sol) |
void | display_other_heuristics (tm_topology_t *topology, int N, double **comm, double **arch) |
int nb_nodes | ( | tm_topology_t * | topology | ) |
Definition at line 37 of file tm_mapping.C.
References tm_topology_t::nb_levels, and tm_topology_t::nb_nodes.
Referenced by map_topology().
void free_topology | ( | tm_topology_t * | topology | ) |
Definition at line 45 of file tm_mapping.C.
References tm_topology_t::arity, free(), tm_topology_t::nb_levels, tm_topology_t::nb_nodes, and tm_topology_t::node_id.
Referenced by TreeMatchMapping(), and TreeMatchLB::work().
Definition at line 55 of file tm_mapping.C.
Referenced by display_other_heuristics().
Definition at line 81 of file tm_mapping.C.
int nb_lines | ( | char * | filename | ) |
Definition at line 92 of file tm_mapping.C.
Referenced by build_comm().
void init_comm | ( | char * | filename, | |
int | N, | |||
double ** | comm | |||
) |
Definition at line 111 of file tm_mapping.C.
References PUP::l.
Referenced by build_comm(), and CmiIsomallocInit().
int build_comm | ( | char * | filename, | |
double *** | pcomm | |||
) |
Definition at line 159 of file tm_mapping.C.
References comm, init_comm(), malloc(), and nb_lines().
void map_Packed | ( | tm_topology_t * | topology, | |
int | N, | |||
int * | Value | |||
) |
Definition at line 172 of file tm_mapping.C.
References tm_topology_t::nb_levels, and tm_topology_t::node_id.
Referenced by display_other_heuristics().
Definition at line 184 of file tm_mapping.C.
Referenced by display_other_heuristics().
int hash_asc | ( | const void * | x1, | |
const void * | x2 | |||
) |
Definition at line 196 of file tm_mapping.C.
References e1, and hash_t::key.
Referenced by generate_random_sol().
int* generate_random_sol | ( | tm_topology_t * | topology, | |
int | N, | |||
int | level, | |||
int | seed | |||
) |
Definition at line 208 of file tm_mapping.C.
References free(), hash_asc(), hash_t::key, malloc(), tm_topology_t::node_id, qsort(), and hash_t::val.
Referenced by map_MPIPP().
Definition at line 235 of file tm_mapping.C.
Referenced by compute_gain(), gain_exchange(), and map_MPIPP().
Definition at line 251 of file tm_mapping.C.
Referenced by gain_exchange(), gk_getopt_internal(), and map_MPIPP().
double gain_exchange | ( | int * | sol, | |
int | l, | |||
int | m, | |||
double | eval1, | |||
int | N, | |||
double ** | comm, | |||
double ** | arch | |||
) |
Definition at line 258 of file tm_mapping.C.
References eval_sol(), and exchange().
Referenced by compute_gain().
Definition at line 268 of file tm_mapping.C.
References max().
Referenced by map_MPIPP().
Definition at line 288 of file tm_mapping.C.
References eval_sol(), and gain_exchange().
Referenced by map_MPIPP().
void map_MPIPP | ( | tm_topology_t * | topology, | |
int | nb_seed, | |||
int | N, | |||
int * | Value, | |||
double ** | comm, | |||
double ** | arch | |||
) |
Definition at line 307 of file tm_mapping.C.
References compute_gain(), eval_sol(), exchange(), free(), generate_random_sol(), PUP::l, PUP::m, malloc(), max(), tm_topology_t::nb_levels, select_max(), and PUP::t.
Referenced by display_other_heuristics().
Definition at line 416 of file tm_mapping.C.
Definition at line 434 of file tm_mapping.C.
References _tree_t::arity, _tree_t::child, and _tree_t::id.
Referenced by map_topology().
Definition at line 446 of file tm_mapping.C.
References _tree_t::arity, _tree_t::child, and n.
Referenced by map_topology().
void map_topology | ( | tm_topology_t * | topology, | |
tree_t * | comm_tree, | |||
int | nb_proc, | |||
int | level, | |||
int * | sigma, | |||
int * | k | |||
) |
Definition at line 473 of file tm_mapping.C.
References assert, depth_first(), free(), PUP::l, malloc(), nb_leaves(), nb_nodes(), tm_topology_t::nb_nodes, and tm_topology_t::node_id.
Referenced by map_topology_simple(), and TreeMatchMapping().
void map_topology_simple | ( | tm_topology_t * | topology, | |
tree_t * | comm_tree, | |||
int * | sigma, | |||
int * | k | |||
) |
Definition at line 540 of file tm_mapping.C.
References map_topology(), tm_topology_t::nb_levels, and tm_topology_t::nb_nodes.
Referenced by TreeMatchLB::work().
static int int_cmp | ( | const void * | x1, | |
const void * | x2 | |||
) | [static] |
Definition at line 544 of file tm_mapping.C.
References e1.
Referenced by decompose().
Definition at line 556 of file tm_mapping.C.
References flag, int_cmp(), and qsort().
Referenced by TreeMatchMapping().
Definition at line 595 of file tm_mapping.C.
References malloc(), _tree_t::parent, set_node(), speed(), and _tree_t::val.
void display_topology | ( | tm_topology_t * | topology | ) |
Definition at line 617 of file tm_mapping.C.
References tm_topology_t::nb_levels, tm_topology_t::nb_nodes, and tm_topology_t::node_id.
Referenced by TreeMatchLB::work().
tm_topology_t* build_synthetic_topology | ( | int * | arity, | |
int | nb_levels, | |||
int * | core_numbering, | |||
int | nb_core_per_nodes | |||
) |
Definition at line 638 of file tm_mapping.C.
References tm_topology_t::arity, malloc(), n, tm_topology_t::nb_levels, tm_topology_t::nb_nodes, and tm_topology_t::node_id.
Referenced by build_abe_topology().
void build_synthetic_proc_id | ( | tm_topology_t * | topology | ) |
Definition at line 671 of file tm_mapping.C.
References tm_topology_t::arity, malloc(), n, tm_topology_t::nb_levels, tm_topology_t::nb_nodes, and tm_topology_t::node_id.
Referenced by TreeMatchMapping().
Definition at line 689 of file tm_mapping.C.
References malloc().
Referenced by TreeMatchMapping().
void TreeMatchMapping | ( | int | nb_obj, | |
int | nb_proc, | |||
double ** | comm_mat, | |||
double * | obj_weight, | |||
double * | comm_speed, | |||
int | d, | |||
int * | sol | |||
) |
Definition at line 713 of file tm_mapping.C.
References tm_topology_t::arity, build_synthetic_proc_id(), build_tree_from_topology(), decompose(), free(), free_topology(), free_tree(), malloc(), map_topology(), tm_topology_t::nb_levels, and update_comm_speed().
void display_other_heuristics | ( | tm_topology_t * | topology, | |
int | N, | |||
double ** | comm, | |||
double ** | arch | |||
) |
Definition at line 768 of file tm_mapping.C.
References free(), malloc(), map_MPIPP(), map_Packed(), map_RR(), and print_sol().