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

Gang metadata registry. More...

Static Public Member Functions

static void initialize (const process_id pid, const unsigned int npids)
 Initializes the registry. More...
 
static void finalize (void)
 Finalizes the registry. More...
 
static process_id id_owner (const gang_id gid) noexcept
 Returns the process that owns the gid.
 
static gang_id reserve_id (void)
 Reserves and returns an id for a gang.
 
static void register_gang_md (gang_md &g, const gang_id gid)
 Registers g with gid.
 
static void unregister_gang_md (gang_md const &g)
 Unregisters g and releases its id.
 
static gang_mdget (const gang_id gid)
 Returns the gang_md associated with gid.
 
static gang_mdtry_get (const gang_id gid)
 Returns a pointer to the gang_md associated with gid, otherwise nullptr.
 
static boost::intrusive_ptr< fence_mdget_fence_md (const gang_id gid)
 Returns a pointer to the temporary fence metadata associated with the gang with id gid. More...
 
static void erase_fence_md (fence_md *const p)
 Erases the temporary fence metadata. More...
 

Detailed Description

Gang metadata registry.

Member Function Documentation

◆ initialize()

void stapl::runtime::gang_md_registry::initialize ( const process_id  pid,
const unsigned int  npids 
)
static

Initializes the registry.

Parameters
pidCurrent process id.
npidsNumber of processes.

◆ finalize()

void stapl::runtime::gang_md_registry::finalize ( void  )
static

Finalizes the registry.

Waits for all gang_md objects to be unregistered.

◆ get_fence_md()

boost::intrusive_ptr< fence_md > stapl::runtime::gang_md_registry::get_fence_md ( const gang_id  gid)
static

Returns a pointer to the temporary fence metadata associated with the gang with id gid.

If the metadata does not exist, it will create it.

◆ erase_fence_md()

void stapl::runtime::gang_md_registry::erase_fence_md ( fence_md *const  p)
static

Erases the temporary fence metadata.

It will update the metadata of the gang_md object associated with p.


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