SST/macro
|
Base class for strategies regarding how to sequentially number nodes in a parallel simulation. More...
#include <task_mapper.h>
Public Member Functions | |
virtual std::string | to_string () const |
virtual void | set_topology (hw::topology *top) |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
virtual | ~task_mapper () throw () |
virtual void | map_ranks (const app_id &aid, const ordered_node_set &allocation, int ppn, std::vector< node_id > &result, int nproc)=0 |
Assign processes to nodes. More... | |
Public Member Functions inherited from sprockit::factory_type | |
virtual void | init_factory_params (sim_parameters *params) |
virtual void | finalize_init () |
Protected Member Functions | |
task_mapper (parallel_runtime *rt) | |
int | validate_nproc (int ppn, int num_nodes, int nproc, const char *name) const |
Protected Attributes | |
hw::topology * | topology_ |
parallel_runtime * | rt_ |
Base class for strategies regarding how to sequentially number nodes in a parallel simulation.
Definition at line 33 of file task_mapper.h.
|
virtual |
Referenced by set_topology().
|
inlineprotected |
Definition at line 73 of file task_mapper.h.
References validate_nproc().
|
virtual |
Reimplemented in sstmac::sw::coordinate_task_mapper, sstmac::sw::dumpi_task_mapper, sstmac::sw::random_task_mapper, sstmac::sw::node_id_task_mapper, and sstmac::sw::hostname_task_mapper.
Referenced by set_topology().
|
pure virtual |
Assign processes to nodes.
aid | The application ID for the application whose processes are being indexed |
nodes | is the set of unique nodes to be used for the allocation |
ppn | is the nominal number of processes allocated on each node. |
result | is the resulting vector of length nodes (size nproc) |
nproc | the total number of processes to allocate |
value_error | if nodes.empty() |
value_error | if ppn <= 0 |
value_error | if nodes.size()*ppn < nproc |
Implemented in sstmac::sw::random_task_mapper, sstmac::sw::dumpi_task_mapper, sstmac::sw::block_task_mapper, sstmac::sw::coordinate_task_mapper, sstmac::sw::round_robin_task_mapper, sstmac::sw::hostname_task_mapper, and sstmac::sw::node_id_task_mapper.
Referenced by set_topology().
|
inlinevirtual |
Reimplemented in sstmac::sw::dumpi_task_mapper.
Definition at line 44 of file task_mapper.h.
References init_factory_params(), map_ranks(), topology_, and ~task_mapper().
|
inlinevirtual |
Definition at line 39 of file task_mapper.h.
|
protected |
Referenced by task_mapper().
|
protected |
Definition at line 81 of file task_mapper.h.
|
protected |
Definition at line 80 of file task_mapper.h.
Referenced by set_topology().