|
waLBerla 7.3
|
Control allocation and placement of buffers between host and accelerator memory spaces.
The memory tag protocol is used by all memory-managing simulation data structures of the V8 core library. It is a compile-time protocol where the desired memory semantics are communicated to a class by passing a memory tag as a template parameter.
Each memory tag specifies whether the allocated memory is accessible from the host and/or the device via two compile-time boolean flags: isHostAccessible and isDeviceAccessible.
Depending on waLBerla's build settings, different memory tags are available.
Classes | |
| struct | walberla::v8::memory::memtag::stdmem |
| Standard pageable host memory. More... | |
| struct | walberla::v8::memory::memtag::host |
| Aligned pageable host memory. More... | |
| struct | walberla::v8::memory::memtag::unified |
| Managed GPU memory with unified memory semantics. More... | |
| struct | walberla::v8::memory::memtag::device |
| Memory tag indicating GPU device memory. More... | |
| struct | walberla::v8::memory::memtag::pinned |
| Memory tag indicating pinned (page-locked) host memory. More... | |
Typedefs | |
| using | walberla::v8::memory::memtag::automatic |
| Automatically select a memory tag according to the current build configuration. | |
Automatically select a memory tag according to the current build configuration.
Select a memory tag according to the build configuration: