Gang id and metadata distributor. More...
Static Public Member Functions | |
static gang_md::id | try_get_id (key_type const &key) |
Returns the gang id associated with the key, otherwise invalid_gang_id. | |
static void | release_id (topology::container_type const &r, key_type const &key, const gang_md::id gid) |
Releases locations waiting on a gang id. | |
static gang_md * | try_get_metadata (shmem_key_type const &key) |
Returns the gang metadata associated with the key, otherwise nullptr . | |
static void | release_metadata (shmem_key_type const &key, std::pair< gang_md *, size_type > const &v) |
Release locally managed locations waiting on gang metadata. | |
Public Types | |
using | size_type = gang_md::size_type |
using | key_type = std::tuple< gang_md::id, location_md::id, comparable_proxy > |
Distributed memory key. | |
using | shmem_key_type = std::tuple< key_type, size_type > |
Shared memory key. | |
Gang id and metadata distributor.
Used to transport gang ids and metadata by waiting on information from a parent location and then sending information to children locations.