DASH  0.3.0
Global Memory Concept

Concept of distributed global memory space shared by units in a specified team. More...

Collaboration diagram for Global Memory Concept:

Concept of distributed global memory space shared by units in a specified team.

Description

An abstraction of global memory that provides sequential iteration and random access to local and global elements to units in a specified team. The C++ STL does not specify a counterpart of this concept as it only considers local memory that is implicitly described by the random access pointer interface.

The model of global memory represents a single, virtual global address space partitioned into the local memory spaces of its associated units. The global memory concept depends on the allocator concept that specifies allocation of physical memory.

Local pointers are usually, but not necessarily represented as raw native pointers as returned by malloc.

See also
DashAllocatorConcept
Types
Type Name Description
GlobalRAI Random access iterator on global address space
LocalRAI Random access iterator on a single local address space
Methods
Return Type Method Parameters Description
GlobalRAI begin   Global pointer to the initial address of the global memory space
GlobalRAI end   Global pointer past the final element in the global memory space
LocalRAI lbegin   Local pointer to the initial address in the local segment of the global memory space
LocalRAI lbegin unit u Local pointer to the initial address in the local segment at unit u of the global memory space
LocalRAI lend   Local pointer past the final element in the local segment of the global memory space
LocalRAI lend unit u Local pointer past the final element in the local segment at unit u of the global memory space
GlobalRAI at index gidx Global pointer to the element at canonical global offset gidx in the global memory space
void put_value value & v_in, index gidx Stores value specified in parameter v_in to address in global memory at canonical global offset gidx
void get_value value * v_out, index gidx Loads value from address in global memory at canonical global offset gidx into local address v_out
void barrier   Blocking synchronization of all units associated with the global memory instance