一个设备内存资源,使用提供的回调函数进行内存分配和释放。更多...
#include <callback_memory_resource.hpp>
公有成员函数 | |
callback_memory_resource (allocate_callback_t allocate_callback, deallocate_callback_t deallocate_callback, void *allocate_callback_arg=nullptr, void *deallocate_callback_arg=nullptr) noexcept | |
构造一个新的回调内存资源。更多... | |
callback_memory_resource (callback_memory_resource const &)=delete | callback_memory_resource (callback_memory_resource const &)=delete |
callback_memory_resource & | operator= (callback_memory_resource const &)=delete |
callback_memory_resource (callback_memory_resource &&) noexcept=default | |
默认移动构造函数。 | |
callback_memory_resource & | operator= (callback_memory_resource &&) noexcept=default |
默认移动赋值运算符。更多... | |
![]() | |
device_memory_resource (device_memory_resource const &)=default | |
默认拷贝构造函数。 | |
device_memory_resource (device_memory_resource &&) noexcept=default | |
默认移动构造函数。 | |
device_memory_resource & | operator= (device_memory_resource const &)=default |
默认拷贝赋值运算符。更多... | |
device_memory_resource & | operator= (device_memory_resource &&) noexcept=default |
默认移动赋值运算符。更多... | |
void * | allocate (std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
分配至少 bytes 大小的内存。更多... | |
void | deallocate (void *ptr, std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
释放 p 指向的内存。更多... | |
bool | is_equal (device_memory_resource const &other) const noexcept |
将此资源与另一个资源进行比较。更多... | |
void * | allocate (std::size_t bytes, std::size_t alignment) |
分配至少 bytes 大小的内存。更多... | |
void | deallocate (void *ptr, std::size_t bytes, std::size_t alignment) |
释放 p 指向的内存。更多... | |
void * | allocate_async (std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
分配至少 bytes 大小的内存。更多... | |
void * | allocate_async (std::size_t bytes, cuda_stream_view stream) |
分配至少 bytes 大小的内存。更多... | |
void | deallocate_async (void *ptr, std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
释放 p 指向的内存。更多... | |
void | deallocate_async (void *ptr, std::size_t bytes, cuda_stream_view stream) |
释放 p 指向的内存。更多... | |
bool | operator== (device_memory_resource const &other) const noexcept |
与另一个 device_memory_resource 的比较运算符。更多... | |
bool | operator!= (device_memory_resource const &other) const noexcept |
与另一个 device_memory_resource 的比较运算符。更多... | |
一个设备内存资源,使用提供的回调函数进行内存分配和释放。
|
inlinenoexcept |
构造一个新的回调内存资源。
构造一个回调内存资源,使用用户提供的 allocate_callback
进行分配,使用 deallocate_callback
进行释放。
allocate_callback | 用于分配的回调函数 |
deallocate_callback | 用于释放的回调函数 |
allocate_callback_arg | 传递给 allocate_callback 的额外上下文。调用者负责维护指针指向的数据的生命周期,使其与 callback_memory_resource 的生命周期保持一致。 |
deallocate_callback_arg | 传递给 deallocate_callback 的额外上下文。调用者负责维护指针指向的数据的生命周期,使其与 callback_memory_resource 的生命周期保持一致。 |
|
defaultnoexcept |
默认移动赋值运算符。