DASH
0.3.0
|
Wrapper of a single dart_domain_locality_t
object.
More...
#include <LocalityDomain.h>
Public Types | |
typedef internal::LocalityDomainIterator< self_t > | iterator |
typedef internal::LocalityDomainIterator< const self_t > | const_iterator |
Public Member Functions | |
LocalityDomain (const dart_domain_locality_t &domain) | |
LocalityDomain (dart_domain_locality_t *domain) | |
LocalityDomain (const self_t &other) | |
LocalityDomain (self_t &&other) | |
self_t & | operator= (const self_t &other) |
self_t & | operator= (self_t &&other) |
bool | operator== (const self_t &rhs) const |
bool | operator!= (const self_t &rhs) const |
self_t & | select (const std::vector< std::string > &subdomain_tags) |
Remove subdomains that do not match one of the specified domain tags and are not a subdomain of a matched domain. More... | |
self_t & | exclude (const std::vector< std::string > &subdomain_tags) |
Remove subdomains that match the specified domain tags or are a subdomain of a matched domain. More... | |
self_t & | group (const std::vector< std::string > &group_subdomain_tags) |
Add a group subdomain consisting of domains with the specified tags. More... | |
self_t & | split (dash::util::Locality::Scope scope, int num_split_parts) |
Split the team locality domain into the given number of parts on the specified locality scope. More... | |
self_t & | split_groups () |
Split groups in locality domain into separate parts. More... | |
const self_t & | at (int relative_index) const |
Lazy-load instance of LocalityDomain for child subdomain at relative index. More... | |
self_t & | at (int relative_index) |
Lazy-load instance of LocalityDomain for child subdomain at relative index. More... | |
const_iterator | find (const std::string &subdomain_tag) const |
Find locality subdomain with specified domain tag. More... | |
iterator | find (const std::string &subdomain_tag) |
Find locality subdomain with specified domain tag. More... | |
std::vector< iterator > & | groups () |
const std::vector< iterator > & | groups () const |
std::vector< self_t > & | parts () |
const std::vector< self_t > & | parts () const |
std::vector< self_t > | scope_domains (dash::util::Locality::Scope scope) const |
dart_team_t | dart_team () const |
const std::string & | domain_tag () const |
const dart_domain_locality_t & | dart_type () const |
std::string | host () const |
int | shared_mem_bytes () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
size_t | size () const |
const std::vector< global_unit_t > & | units () const |
std::vector< global_unit_t > & | units () |
global_unit_t | leader_unit () const |
ID of leader unit in the locality domain. More... | |
int | level () const |
Scope_t | scope () const |
int | node_id () const |
int | num_nodes () const |
int | num_cores () const |
int | global_index () const |
int | relative_index () const |
Wrapper of a single dart_domain_locality_t
object.
Usage examples:
Definition at line 154 of file LocalityDomain.h.
const self_t& dash::util::LocalityDomain::at | ( | int | relative_index | ) | const |
Lazy-load instance of LocalityDomain
for child subdomain at relative index.
self_t& dash::util::LocalityDomain::at | ( | int | relative_index | ) |
Lazy-load instance of LocalityDomain
for child subdomain at relative index.
self_t& dash::util::LocalityDomain::exclude | ( | const std::vector< std::string > & | subdomain_tags | ) |
Remove subdomains that match the specified domain tags or are a subdomain of a matched domain.
Referenced by dash::util::TeamLocality::parts().
const_iterator dash::util::LocalityDomain::find | ( | const std::string & | subdomain_tag | ) | const |
Find locality subdomain with specified domain tag.
iterator dash::util::LocalityDomain::find | ( | const std::string & | subdomain_tag | ) |
Find locality subdomain with specified domain tag.
self_t& dash::util::LocalityDomain::group | ( | const std::vector< std::string > & | group_subdomain_tags | ) |
Add a group subdomain consisting of domains with the specified tags.
Referenced by dash::util::TeamLocality::parts().
|
inline |
ID of leader unit in the locality domain.
Definition at line 439 of file LocalityDomain.h.
References dash::find(), dart_domain_locality_s::global_index, dash::init(), dart_domain_locality_s::level, and dart_domain_locality_s::scope.
self_t& dash::util::LocalityDomain::select | ( | const std::vector< std::string > & | subdomain_tags | ) |
Remove subdomains that do not match one of the specified domain tags and are not a subdomain of a matched domain.
Referenced by dash::util::TeamLocality::parts().
self_t& dash::util::LocalityDomain::split | ( | dash::util::Locality::Scope | scope, |
int | num_split_parts | ||
) |
Split the team locality domain into the given number of parts on the specified locality scope.
Team locality domains resulting from the split can be accessed using method parts()
.
Referenced by dash::util::TeamLocality::split().
self_t& dash::util::LocalityDomain::split_groups | ( | ) |
Split groups in locality domain into separate parts.
Referenced by dash::util::TeamLocality::split_groups().