Device memory at a fixed address whose backing grows as it fills: a reserved virtual address range with physical pages mapped on demand (CUDA virtual memory management). A table whose final size is known only once it is complete can then go to the device piece by piece, without being staged whole on the host or copied when it grows. Only CUDA builds have it (supported()).
More...
#include <growing_buffer.h>
Device memory at a fixed address whose backing grows as it fills: a reserved virtual address range with physical pages mapped on demand (CUDA virtual memory management). A table whose final size is known only once it is complete can then go to the device piece by piece, without being staged whole on the host or copied when it grows. Only CUDA builds have it (supported()).
◆ GrowingBuffer() [1/2]
| GrowingBuffer::GrowingBuffer |
( |
size_t |
max_bytes | ) |
|
|
explicit |
Reserve addresses for up to max_bytes; nothing is mapped yet.
◆ ~GrowingBuffer()
| GrowingBuffer::~GrowingBuffer |
( |
| ) |
|
◆ GrowingBuffer() [2/2]
◆ data()
| void * GrowingBuffer::data |
( |
| ) |
const |
|
inline |
◆ ensure()
Map pages so that the first bytes are backed by device memory.
◆ operator=()
◆ supported()
| bool GrowingBuffer::supported |
( |
| ) |
|
|
static |
The documentation for this class was generated from the following files: