|
typedef ElementType | value_type |
| Public types as required by iterator concept. More...
|
|
typedef IndexType | index_type |
|
typedef std::make_unsigned< IndexType >::type | size_type |
|
typedef std::make_unsigned< IndexType >::type | difference_type |
|
typedef dash::GlobStaticMem< LocalMemSpaceT > | memory_type |
|
typedef dash::GlobalAllocator< value_type, memory_type > | allocator_type |
|
typedef GlobIter< value_type, PatternType, memory_type > | iterator |
|
typedef GlobIter< const value_type, PatternType, memory_type > | const_iterator |
|
typedef std::reverse_iterator< iterator > | reverse_iterator |
|
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
|
typedef GlobRef< value_type > | reference |
|
typedef GlobRef< value_type >::const_type | const_reference |
|
typedef iterator::pointer | pointer |
|
typedef pointer::const_type | const_pointer |
|
typedef pointer::local_type | local_pointer |
|
typedef pointer::const_local_type | const_local_pointer |
|
typedef DistributionSpec< 1 > | distribution_spec |
|
typedef PatternType | pattern_type |
| Public types as required by dash container concept. More...
|
|
typedef LocalArrayRef< value_type, IndexType, PatternType, LocalMemSpaceT > | local_type |
|
typedef ArrayRef< ElementType, IndexType, PatternType, LocalMemSpaceT > | view_type |
|
typedef AsyncArrayRef< value_type, IndexType, PatternType, LocalMemSpaceT > | async_type |
|
typedef std::integral_constant< dim_t, 1 > | rank |
|
|
constexpr | Array (Team &team=dash::Team::Null()) |
| Default constructor, for delayed allocation. More...
|
|
| Array (size_type nelem, const distribution_spec &distribution, Team &team=dash::Team::All()) |
| Constructor, specifies the array's global capacity and distribution. More...
|
|
| Array (size_type nelem, Team &team=dash::Team::All()) |
| Delegating constructor, specifies the array's global capacity. More...
|
|
| Array (size_type nelem, std::initializer_list< value_type > local_elements, const distribution_spec &distribution, Team &team=dash::Team::All()) |
| Constructor, specifies the array's global capacity, values of local elements and distribution. More...
|
|
| Array (size_type nelem, std::initializer_list< value_type > local_elements, Team &team=dash::Team::All()) |
| Delegating constructor, specifies the array's global capacity and values of local elements. More...
|
|
| Array (const PatternType &pattern) |
| Constructor, specifies distribution pattern explicitly. More...
|
|
| Array (const self_t &other)=delete |
| Copy constructor is deleted to prevent unintentional copies of - usually huge - distributed arrays. More...
|
|
| Array (self_t &&other) noexcept(std::is_nothrow_move_constructible< memory_type >::value) |
| Move construction is supported for the container with the following limitations: More...
|
|
self_t & | operator= (const self_t &rhs)=delete |
| Assignment operator is deleted to prevent unintentional copies of. More...
|
|
self_t & | operator= (self_t &&other) |
| Move assignment is supported for the container with the following limitations: More...
|
|
| ~Array () |
| Destructor, deallocates array elements. More...
|
|
constexpr const view_type | block (index_type block_gindex) const |
| View at block at given global block offset. More...
|
|
constexpr const memory_type & | globmem () const noexcept |
| The instance of GlobStaticMem used by this iterator to resolve addresses in global memory. More...
|
|
constexpr const_pointer | data () const noexcept |
| Global const pointer to the beginning of the array. More...
|
|
iterator | begin () noexcept |
| Global pointer to the beginning of the array. More...
|
|
constexpr const_iterator | begin () const noexcept |
| Global pointer to the beginning of the array. More...
|
|
iterator | end () noexcept |
| Global pointer to the end of the array. More...
|
|
constexpr const_iterator | end () const noexcept |
| Global pointer to the end of the array. More...
|
|
constexpr const ElementType * | lbegin () const noexcept |
| Native pointer to the first local element in the array. More...
|
|
ElementType * | lbegin () noexcept |
| Native pointer to the first local element in the array. More...
|
|
constexpr const ElementType * | lend () const noexcept |
| Native pointer to the end of the array. More...
|
|
ElementType * | lend () noexcept |
| Native pointer to the end of the array. More...
|
|
reference | operator[] (size_type global_index) |
| Subscript assignment operator, not range-checked. More...
|
|
constexpr const_reference | operator[] (size_type global_index) const |
| Subscript operator, not range-checked. More...
|
|
reference | at (size_type global_pos) |
| Random access assignment operator, range-checked. More...
|
|
const_reference | at (size_type global_pos) const |
| Random access operator, range-checked. More...
|
|
constexpr size_type | size () const noexcept |
| The size of the array. More...
|
|
constexpr size_type | capacity () const noexcept |
| The number of elements that can be held in currently allocated storage of the array. More...
|
|
constexpr Team & | team () const noexcept |
| The team containing all units accessing this array. More...
|
|
constexpr size_type | lsize () const noexcept |
| The number of elements in the local part of the array. More...
|
|
constexpr size_type | lcapacity () const noexcept |
| The capacity of the local part of the array. More...
|
|
constexpr bool | empty () const noexcept |
| Checks whether the array is empty. More...
|
|
constexpr view_type | local_in (dash::util::Locality::Scope scope) const |
|
constexpr bool | is_local (index_type global_index) const |
| Checks whether the given global index is local to the calling unit. More...
|
|
void | barrier () const |
| Establish a barrier for all units operating on the array, publishing all changes to all units. More...
|
|
void | flush () const |
| Complete all outstanding non-blocking operations to all units on the array's underlying global memory. More...
|
|
void | flush (dash::team_unit_t target) const |
| Complete all outstanding non-blocking operations to the specified unit on the array's underlying global memory. More...
|
|
void | flush_local () const |
| Locally complete all outstanding non-blocking operations to all units on the array's underlying global memory. More...
|
|
void | flush_local (dash::team_unit_t target) const |
| Locally complete all outstanding non-blocking operations to the specified unit on the array's underlying global memory. More...
|
|
constexpr const PatternType & | pattern () const noexcept |
| The pattern used to distribute array elements to units. More...
|
|
bool | allocate (size_type nelem, dash::DistributionSpec< 1 > distribution, dash::Team &team=dash::Team::All()) |
| Delayed allocation of global memory using a one-dimensional distribution spec. More...
|
|
bool | allocate (size_type nelem, Team &team=dash::Team::All()) |
| Delayed allocation of global memory using the default blocked distribution spec. More...
|
|
bool | allocate (size_type nelem, std::initializer_list< value_type > local_elements, dash::DistributionSpec< 1 > distribution, dash::Team &team=dash::Team::All()) |
| Delayed allocation of global memory using a one-dimensional distribution spec and initializing values. More...
|
|
void | deallocate () |
|
bool | allocate (const PatternType &pattern) |
| Delayed allocation of global memory using the specified pattern. More...
|
|
template<typename ElementType, typename IndexType = dash::default_index_t, class PatternType = BlockPattern<1, ROW_MAJOR, IndexType>, typename LocalMemSpaceT = HostSpace>
class dash::Array< ElementType, IndexType, PatternType, LocalMemSpaceT >
A distributed array.
- Implemented concept:
- Array Concept
- Todo:
- Add template parameter:
class GlobMemType = dash::GlobStaticMem<ElementType>
- Note
- : Template parameter IndexType could be deduced from pattern type
PatternT::index_type
- Examples:
- ex.02.array-csr/main.cpp, ex.02.array-ctors/main.cpp, ex.02.array-delayed/main.cpp, ex.02.array-local/main.cpp, ex.02.array/main.cpp, ex.03.globref/main.cpp, ex.04.memalloc/main.cpp, ex.05.min_element/main.cpp, ex.06.std-algo/main.cpp, ex.08.io-hdf5/main.cpp, ex.09.view-1dim/main.cpp, ex.10.radixsort/main.cpp, ex.11.halo-stencil/main.cpp, and ex.11.simple-stencil/main.cpp.
Definition at line 89 of file Array.h.