DASH  0.3.0
dash::GlobLocalMemoryPool< LMemSpace > Class Template Reference

Public Types

using memory_space_domain_category = memory_domain_global
 
using memory_space_type_category = typename base_t::memory_space_type_category
 
using size_type = dash::default_size_t
 
using index_type = dash::default_index_t
 
using difference_type = index_type
 
using memory_space_allocation_policy = allocation_static
 
using memory_space_synchronization_policy = synchronization_single
 
using memory_space_layout_tag = memory_space_noncontiguous
 
using allocator_type = std::pmr::polymorphic_allocator< std::byte >
 
using void_pointer = pointer
 
using const_void_pointer = const_pointer
 
using local_void_pointer = void *
 
using const_local_void_pointer = void *
 

Public Member Functions

 GlobLocalMemoryPool (size_type pool_capacity=0, dash::Team const &team=dash::Team::All())
 
 GlobLocalMemoryPool (LMemSpace *r, size_type pool_capacity=0, dash::Team const &team=dash::Team::All())
 
 GlobLocalMemoryPool (const GlobLocalMemoryPool &)=delete
 
 GlobLocalMemoryPool (GlobLocalMemoryPool &&)
 
GlobLocalMemoryPooloperator= (const GlobLocalMemoryPool &)=delete
 
GlobLocalMemoryPooloperator= (GlobLocalMemoryPool &&)
 
size_type size () const
 
size_type capacity () const
 
dash::Team const & team () const
 
void barrier ()
 
allocator_type get_allocator () const
 
pointer allocate (size_type nbytes, size_type alignment=max_align)
 
void deallocate (pointer gptr, size_type nbytes, size_type alignment=max_align)
 
void release ()
 
void flush (pointer gptr)
 Complete all outstanding non-blocking operations to all units. More...
 
void flush (pointer gptr, dash::team_unit_t target)
 Complete all outstanding non-blocking operations to the specified unit. More...
 
void flush_local (pointer gptr)
 Locally complete all outstanding non-blocking operations to all units. More...
 
void flush_local (pointer gptr, dash::team_unit_t target)
 Locally complete all outstanding non-blocking operations to the specified unit. More...
 

Detailed Description

template<class LMemSpace>
class dash::GlobLocalMemoryPool< LMemSpace >

Definition at line 21 of file GlobLocalMemoryPool.h.

Member Function Documentation

◆ flush() [1/2]

template<class LMemSpace>
void dash::GlobLocalMemoryPool< LMemSpace >::flush ( pointer  gptr)
inline

Complete all outstanding non-blocking operations to all units.

Definition at line 131 of file GlobLocalMemoryPool.h.

132  {
133  DASH_ASSERT_MSG(gptr, "cannot flush DART_GPTR_NULL");
134  dart_flush_all(gptr);
135  }
dart_ret_t dart_flush_all(dart_gptr_t gptr)
Guarantee completion of all outstanding operations involving a segment on all units.

◆ flush() [2/2]

template<class LMemSpace>
void dash::GlobLocalMemoryPool< LMemSpace >::flush ( pointer  gptr,
dash::team_unit_t  target 
)
inline

Complete all outstanding non-blocking operations to the specified unit.

Definition at line 140 of file GlobLocalMemoryPool.h.

141  {
142  DASH_ASSERT_MSG(gptr, "cannot flush DART_GPTR_NULL");
143  gptr.unitid(target);
144  dart_flush(gptr);
145  }
dart_ret_t dart_flush(dart_gptr_t gptr)
Guarantee completion of all outstanding operations involving a segment on a certain unit...

◆ flush_local() [1/2]

template<class LMemSpace>
void dash::GlobLocalMemoryPool< LMemSpace >::flush_local ( pointer  gptr)
inline

Locally complete all outstanding non-blocking operations to all units.

Definition at line 150 of file GlobLocalMemoryPool.h.

151  {
152  DASH_ASSERT_MSG(gptr, "cannot flush DART_GPTR_NULL");
153  dart_flush_local_all(gptr);
154  }
dart_ret_t dart_flush_local_all(dart_gptr_t gptr)
Guarantee completion of all outstanding operations involving a segment on all units.

◆ flush_local() [2/2]

template<class LMemSpace>
void dash::GlobLocalMemoryPool< LMemSpace >::flush_local ( pointer  gptr,
dash::team_unit_t  target 
)
inline

Locally complete all outstanding non-blocking operations to the specified unit.

Definition at line 160 of file GlobLocalMemoryPool.h.

162  {
163  DASH_ASSERT_MSG(gptr, "cannot flush DART_GPTR_NULL");
164  gptr.unitid(target);
165  dart_flush(gptr);
166  dart_flush_local(gptr);
167  }
dart_ret_t dart_flush_local(dart_gptr_t gptr)
Guarantee local completion of all outstanding operations involving a segment on a certain unit...
dart_ret_t dart_flush(dart_gptr_t gptr)
Guarantee completion of all outstanding operations involving a segment on a certain unit...

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