OpenVDB 13.1.0
Loading...
Searching...
No Matches
Buffer.h File Reference

Typed containers for CUDA memory: the owning, resource-aware, stream-ordered cuda::Buffer and the non-owning cuda::BufferView. More...

#include <cuda_runtime_api.h>
#include <nanovdb/cuda/DeviceResource.h>
#include <nanovdb/util/cuda/Util.h>
#include <cstddef>
#include <limits>
#include <stdexcept>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  NoInit
 Tag type selecting the Buffer constructors that skip element initialization, leaving the contents indeterminate. More...
struct  StreamHolder< IsAsync >
 Conditional stream storage for Buffer. The async specialization retains the stream of the most recent allocation; the synchronous specialization is an empty base, so a Buffer over a synchronous resource carries no stream state and exposes no stream API. More...
struct  StreamHolder< true >
class  Buffer< T, R >
 Owning, typed container of T elements allocated from a memory resource R held by value. More...
class  BufferView< T >
 Non-owning, trivially copyable view of a contiguous range of T elements, with span semantics. More...
struct  BufferTraits< cuda::Buffer< T, R > >
 GridHandle support for the single-space cuda::Buffer: the buffer owns exactly one allocation, resident on the device, so the handle parses metadata through a device read and exposes only the device accessors. Requires byte-addressed storage. More...

Namespaces

namespace  nanovdb
 Defines a simple memory pool used to call cub functions that use dynamic temporary storage.
namespace  nanovdb::cuda
namespace  nanovdb::cuda::detail

Variables

constexpr NoInit noInit {}

Detailed Description

Typed containers for CUDA memory: the owning, resource-aware, stream-ordered cuda::Buffer and the non-owning cuda::BufferView.