PPL Logo

ck-ldb/tm_mapping.C File Reference

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)
intgenerate_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_tbuild_synthetic_topology_old (int *synt_tab, int id, int depth, int nb_levels)
void display_topology (tm_topology_t *topology)
tm_topology_tbuild_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)


Function Documentation

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

double print_sol ( int  N,
int Value,
double **  comm,
double **  arch 
)

Definition at line 55 of file tm_mapping.C.

References PUP::a, and c.

Referenced by display_other_heuristics().

Here is the caller graph for this function:

void print_1D_tab ( int tab,
int  N 
)

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

int build_comm ( char *  filename,
double ***  pcomm 
)

Definition at line 159 of file tm_mapping.C.

References comm, init_comm(), malloc(), and nb_lines().

Here is the call graph for this function:

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().

Here is the caller graph for this function:

void map_RR ( int  N,
int Value 
)

Definition at line 184 of file tm_mapping.C.

Referenced by display_other_heuristics().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

double eval_sol ( int sol,
int  N,
double **  comm,
double **  arch 
)

Definition at line 235 of file tm_mapping.C.

References PUP::a, and c.

Referenced by compute_gain(), gain_exchange(), and map_MPIPP().

Here is the caller graph for this function:

void exchange ( int sol,
int  i,
int  j 
)

Definition at line 251 of file tm_mapping.C.

Referenced by gain_exchange(), gk_getopt_internal(), and map_MPIPP().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void select_max ( int l,
int m,
double **  gain,
int  N,
int state 
)

Definition at line 268 of file tm_mapping.C.

References max().

Referenced by map_MPIPP().

Here is the call graph for this function:

Here is the caller graph for this function:

void compute_gain ( int sol,
int  N,
double **  gain,
double **  comm,
double **  arch 
)

Definition at line 288 of file tm_mapping.C.

References eval_sol(), and gain_exchange().

Referenced by map_MPIPP().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void map_tree ( tree_t t1,
tree_t t2 
)

Definition at line 416 of file tm_mapping.C.

void depth_first ( tree_t comm_tree,
int proc_list,
int i 
)

Definition at line 434 of file tm_mapping.C.

References _tree_t::arity, _tree_t::child, and _tree_t::id.

Referenced by map_topology().

Here is the caller graph for this function:

int nb_leaves ( tree_t comm_tree  ) 

Definition at line 446 of file tm_mapping.C.

References _tree_t::arity, _tree_t::child, and n.

Referenced by map_topology().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

int decompose ( int  n,
int  optimize,
int tab 
)

Definition at line 556 of file tm_mapping.C.

References flag, int_cmp(), and qsort().

Referenced by TreeMatchMapping().

Here is the call graph for this function:

Here is the caller graph for this function:

tree_t* build_synthetic_topology_old ( int synt_tab,
int  id,
int  depth,
int  nb_levels 
)

Definition at line 595 of file tm_mapping.C.

References malloc(), _tree_t::parent, set_node(), speed(), and _tree_t::val.

Here is the call graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void update_comm_speed ( double **  comm_speed,
int  old_size,
int  new_size 
)

Definition at line 689 of file tm_mapping.C.

References malloc().

Referenced by TreeMatchMapping().

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Definition at line 768 of file tm_mapping.C.

References free(), malloc(), map_MPIPP(), map_Packed(), map_RR(), and print_sol().

Here is the call graph for this function:


Generated on Mon Sep 21 07:59:23 2020 for Charm++ by  doxygen 1.5.5