Template Numerical Library version main:1655e92
Public Types | Public Member Functions | List of all members
TNL::Allocators::CudaManaged< T > Struct Template Reference

Allocator for the CUDA Unified Memory system. More...

#include <TNL/Allocators/CudaManaged.h>

Public Types

using difference_type = std::ptrdiff_t
using size_type = std::size_t
using value_type = T

Public Member Functions

 CudaManaged (const CudaManaged &)=default
template<class U >
 CudaManaged (const CudaManaged< U > &)
 CudaManaged (CudaManaged &&) noexcept=default
template<class U >
 CudaManaged (CudaManaged< U > &&)
value_type * allocate (size_type n)
void deallocate (value_type *ptr, size_type)
CudaManagedoperator= (const CudaManaged &)=default
template<class U >
CudaManagedoperator= (const CudaManaged< U > &)
CudaManagedoperator= (CudaManaged &&) noexcept=default
template<class U >
CudaManagedoperator= (CudaManaged< U > &&)

Detailed Description

template<class T>
struct TNL::Allocators::CudaManaged< T >

Allocator for the CUDA Unified Memory system.

The memory allocated by this allocator will be automatically managed by the CUDA Unified Memory system. The allocation is done using the cudaMallocManaged function and the deallocation is done using the cudaFree function.

The documentation for this struct was generated from the following file: