SST/macro
Public Member Functions | List of all members
sstmac::sw::block_task_mapper Class Reference

An index strategy that allocates indices using a round robin. More...

#include <block_task_mapper.h>

Inheritance diagram for sstmac::sw::block_task_mapper:
Inheritance graph
Collaboration diagram for sstmac::sw::block_task_mapper:
Collaboration graph

Public Member Functions

 block_task_mapper (parallel_runtime *rt)
 
virtual ~block_task_mapper () throw ()
 
virtual void map_ranks (const app_id &aid, const ordered_node_set &nodes, int ppn, std::vector< node_id > &result, int nproc)
 Assign processes to nodes. More...
 
- Public Member Functions inherited from sstmac::sw::task_mapper
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 ()
 
- Public Member Functions inherited from sprockit::factory_type
virtual void init_factory_params (sim_parameters *params)
 
virtual void finalize_init ()
 

Additional Inherited Members

- Protected Member Functions inherited from sstmac::sw::task_mapper
 task_mapper (parallel_runtime *rt)
 
int validate_nproc (int ppn, int num_nodes, int nproc, const char *name) const
 
- Protected Attributes inherited from sstmac::sw::task_mapper
hw::topology * topology_
 
parallel_runtimert_
 

Detailed Description

An index strategy that allocates indices using a round robin.

Definition at line 23 of file block_task_mapper.h.

Constructor & Destructor Documentation

sstmac::sw::block_task_mapper::block_task_mapper ( parallel_runtime rt)
inline

Definition at line 27 of file block_task_mapper.h.

References map_ranks(), and ~block_task_mapper().

Here is the call graph for this function:

virtual sstmac::sw::block_task_mapper::~block_task_mapper ( )
throw (
)
virtual

Referenced by block_task_mapper().

Member Function Documentation

virtual void sstmac::sw::block_task_mapper::map_ranks ( const app_id aid,
const ordered_node_set allocation,
int  ppn,
std::vector< node_id > &  result,
int  nproc 
)
virtual

Assign processes to nodes.

Parameters
aidThe application ID for the application whose processes are being indexed
nodesis the set of unique nodes to be used for the allocation
ppnis the nominal number of processes allocated on each node.
resultis the resulting vector of length nodes (size nproc)
nprocthe total number of processes to allocate
Exceptions
value_errorif nodes.empty()
value_errorif ppn <= 0
value_errorif nodes.size()*ppn < nproc

Implements sstmac::sw::task_mapper.

Referenced by block_task_mapper().


The documentation for this class was generated from the following file: