STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::runtime::topology Class Reference

Describes the topology of the processes of a gang. More...

Public Member Functions

 topology (void)
 Creates a new topology when there is only one process.
 
 topology (gang_description const &desc)
 Creates a new topology based on the gang_description and the current process id. More...
 
id get_id (void) const noexcept
 
id root_id (void) const noexcept
 
id parent_id (void) const noexcept
 
container_type const & children (void) const noexcept
 
auto children_and_root (void) const noexcept -> decltype(boost::join(m_children, boost::counting_range(m_root,(m_root+1))))
 
bool is_root (void) const noexcept
 
bool is_leaf (void) const noexcept
 

Public Types

using id = process_id
 
using size_type = gang_description::size_type
 
using container_type = std::vector< id >
 

Detailed Description

Describes the topology of the processes of a gang.

This class offers a partial view of the topology. Each process knows only the root of the topology, its parent and its children to keep it scalable.

Constructor & Destructor Documentation

◆ topology()

stapl::runtime::topology::topology ( gang_description const &  desc)

Creates a new topology based on the gang_description and the current process id.

This function calls gang_description::get_process_id_index() to figure out the index of myid in the set of processes that define the gang.


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