4#ifndef NANOVDB_CUDA_MANAGEDRESOURCE_H_HAS_BEEN_INCLUDED
5#define NANOVDB_CUDA_MANAGEDRESOURCE_H_HAS_BEEN_INCLUDED
7#include <cuda_runtime_api.h>
51 void*
allocate(
size_t bytes,
size_t alignment) {
62 void deallocate(
void* p,
size_t bytes,
size_t alignment) {
Managed (unified) memory resource. Allocations (cudaMallocManaged) are accessible from both the host ...
Definition ManagedResource.h:32
static constexpr bool HOST_ACCESSIBLE
Managed allocations are mapped into the host address space (detected by nanovdb::cuda::is_host_access...
Definition ManagedResource.h:39
void deallocate(void *p, size_t bytes, size_t alignment)
Synchronous deallocation.
Definition ManagedResource.h:62
void * allocate(size_t bytes, size_t alignment)
Synchronous allocation of managed memory.
Definition ManagedResource.h:51
static constexpr bool DEVICE_ACCESSIBLE
Managed allocations are also valid device addresses (detected by nanovdb::cuda::is_device_accessible_...
Definition ManagedResource.h:45
static constexpr size_t DEFAULT_ALIGNMENT
Definition ManagedResource.h:35
Definition GridHandle.h:37
Defines a simple memory pool used to call cub functions that use dynamic temporary storage.
Definition GridHandle.h:31
Cuda specific utility functions.
#define cudaCheck(ans)
Definition Util.h:49