Namespaces | |
| Grappa | |
| this core's base pointer | |
Classes | |
| class | GlobalAddress< T > |
| Global address class. More... | |
| struct | LocalIterator< T > |
Functions | |
| template<typename T > | |
| GlobalAddress< T > | operator+ (const GlobalAddress< T > &t, ptrdiff_t i) |
| return an address that's i T's more than t. More... | |
| template<typename T > | |
| GlobalAddress< T > | operator- (const GlobalAddress< T > &t, ptrdiff_t i) |
| return an address that's i T's less than t. More... | |
| template<typename T > | |
| ptrdiff_t | operator- (const GlobalAddress< T > &t, const GlobalAddress< T > &u) |
| how many T's different are t and u? More... | |
| template<> | |
| ptrdiff_t | operator-< char > (const GlobalAddress< char > &t, const GlobalAddress< char > &u) |
| how many bytes different are t and u? More... | |
| template<typename T > | |
| GlobalAddress< T > | make_global (T *t, Core n=global_communicator.mycore) |
| return a 2d global pointer to a local pointer on a particular core More... | |
| template<typename T > | |
| GlobalAddress< T > | make_linear (T *t) |
| takes a local pointer to a block-cyclic distributed chuck of memory allocated at the same base address on all cores, and makes a linear global pointer pointing to that byte. More... | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &o, const GlobalAddress< T > &ga) |
| output human-readable version of global address More... | |
| template<typename T , typename M > | |
| GlobalAddress< M > | global_pointer_to_member (const GlobalAddress< T > t, const M T::*m) |
| computes offsets of members in structs and claases call like this: More... | |
| template<typename T > | |
| LocalIterator< T > | iterate_local (GlobalAddress< T > base, size_t nelem) |
| Helper for iterating over local elements of a Linear address range. More... | |
| template<typename T > | |
| T * | Grappa::locale_alloc (size_t n=1) |
| Allocate memory in locale shared heap. More... | |
| template<typename T > | |
| T * | Grappa::locale_alloc_aligned (size_t alignment, size_t n=1) |
| template<typename T , typename... Args> | |
| T * | Grappa::locale_new (Args &&...args) |
| template<typename T > | |
| T * | Grappa::locale_new () |
| void | Grappa::locale_free (void *ptr) |
| Free memory that was allocated from locale shared heap. More... | |
|
inline |
computes offsets of members in structs and claases call like this:
Definition at line 452 of file Addressing.hpp.
| LocalIterator<T> iterate_local | ( | GlobalAddress< T > | base, |
| size_t | nelem | ||
| ) |
Helper for iterating over local elements of a Linear address range.
Definition at line 479 of file Addressing.hpp.
|
inline |
Allocate memory in locale shared heap.
Definition at line 101 of file LocaleSharedMemory.hpp.
|
inline |
Definition at line 110 of file LocaleSharedMemory.hpp.
|
inline |
Free memory that was allocated from locale shared heap.
Definition at line 130 of file LocaleSharedMemory.hpp.
|
inline |
Definition at line 120 of file LocaleSharedMemory.hpp.
|
inline |
Definition at line 125 of file LocaleSharedMemory.hpp.
| GlobalAddress< T > make_global | ( | T * | t, |
| Core | n = global_communicator.mycore |
||
| ) |
return a 2d global pointer to a local pointer on a particular core
Definition at line 424 of file Addressing.hpp.
| GlobalAddress< T > make_linear | ( | T * | t | ) |
takes a local pointer to a block-cyclic distributed chuck of memory allocated at the same base address on all cores, and makes a linear global pointer pointing to that byte.
Definition at line 432 of file Addressing.hpp.
| GlobalAddress< T > operator+ | ( | const GlobalAddress< T > & | t, |
| ptrdiff_t | i | ||
| ) |
return an address that's i T's more than t.
Definition at line 386 of file Addressing.hpp.
| GlobalAddress< T > operator- | ( | const GlobalAddress< T > & | t, |
| ptrdiff_t | i | ||
| ) |
return an address that's i T's less than t.
Definition at line 398 of file Addressing.hpp.
|
inline |
how many T's different are t and u?
Definition at line 410 of file Addressing.hpp.
|
inline |
how many bytes different are t and u?
Definition at line 418 of file Addressing.hpp.
| std::ostream& operator<< | ( | std::ostream & | o, |
| const GlobalAddress< T > & | ga | ||
| ) |
output human-readable version of global address
Definition at line 438 of file Addressing.hpp.