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

#include <cart_allocation.h>

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

Public Member Functions

 cart_allocation (parallel_runtime *rt)
 
void init_factory_params (sprockit::sim_parameters *params)
 
virtual ~cart_allocation () throw ()
 
void allocate (int nnode, const ordered_node_set &available, ordered_node_set &allocation) const
 allocate More...
 
- Public Member Functions inherited from sstmac::sw::node_allocator
void set_topology (hw::topology *top)
 
virtual std::string to_string () const
 
virtual ~node_allocator () throw ()
 
- Public Member Functions inherited from sprockit::factory_type
virtual void init_factory_params (sim_parameters *params)
 
virtual void finalize_init ()
 

Private Member Functions

void insert (hw::structured_topology *regtop, const std::vector< int > &coords, const ordered_node_set &available, ordered_node_set &allocation) const
 insert More...
 
void allocate_dim (hw::structured_topology *regtop, int dim, std::vector< int > &vec, const ordered_node_set &available, ordered_node_set &allocation) const
 allocate_dim Recursive method for looping dimensions in the block and adding them to the allocation More...
 

Private Attributes

std::vector< int > sizes_
 
std::vector< int > offsets_
 
bool auto_allocate_
 

Additional Inherited Members

- Protected Member Functions inherited from sstmac::sw::node_allocator
 node_allocator (parallel_runtime *rt)
 
- Protected Attributes inherited from sstmac::sw::node_allocator
hw::topology * topology_
 
parallel_runtimert_
 

Detailed Description

Definition at line 22 of file cart_allocation.h.

Constructor & Destructor Documentation

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

Definition at line 27 of file cart_allocation.h.

References init_factory_params().

Here is the call graph for this function:

virtual sstmac::sw::cart_allocation::~cart_allocation ( )
throw (
)
inlinevirtual

Definition at line 34 of file cart_allocation.h.

References allocate(), allocate_dim(), and insert().

Here is the call graph for this function:

Member Function Documentation

void sstmac::sw::cart_allocation::allocate ( int  nnode,
const ordered_node_set available,
ordered_node_set allocation 
) const
virtual

allocate

Parameters
nnode
available
allocation
Returns
Whether the allocation succeeded based on the available nodes

Implements sstmac::sw::node_allocator.

Referenced by ~cart_allocation().

void sstmac::sw::cart_allocation::allocate_dim ( hw::structured_topology regtop,
int  dim,
std::vector< int > &  vec,
const ordered_node_set available,
ordered_node_set allocation 
) const
private

allocate_dim Recursive method for looping dimensions in the block and adding them to the allocation

Parameters
dim
vec
available
allocation
Returns
Whether the allocation succeeded based on the available nodes

Referenced by ~cart_allocation().

void sstmac::sw::cart_allocation::init_factory_params ( sprockit::sim_parameters *  params)
virtual

Reimplemented from sstmac::sw::node_allocator.

Referenced by cart_allocation().

void sstmac::sw::cart_allocation::insert ( hw::structured_topology regtop,
const std::vector< int > &  coords,
const ordered_node_set available,
ordered_node_set allocation 
) const
private

insert

Parameters
coordsThe cartesian coordinates defining the node
availableThe set of available nodes
allocationThe set of nodes storing the current allocation
Returns
Whether the insertion succeeded based on the available nodes

Referenced by ~cart_allocation().

Member Data Documentation

bool sstmac::sw::cart_allocation::auto_allocate_
private

Definition at line 83 of file cart_allocation.h.

std::vector<int> sstmac::sw::cart_allocation::offsets_
private

Definition at line 81 of file cart_allocation.h.

std::vector<int> sstmac::sw::cart_allocation::sizes_
private

Definition at line 80 of file cart_allocation.h.


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