![]() |
cuLite v0.3.1
A lite CUDA C++ Interface
|
A RAII wrapper for device memory allocation. More...
Public Member Functions | |
| DeviceBuffer () | |
| Default constructor. | |
| DeviceBuffer (std::size_t n) | |
| Constructs a device buffer with specified capacity. | |
| ~DeviceBuffer () | |
| Destructor. | |
| void | reserve (std::size_t n) |
| Reserves device memory for at least the specified number of elements. | |
| void | clear () noexcept |
| Frees the allocated device memory. | |
| T * | data () noexcept |
| Returns a pointer to the device memory buffer. | |
| const T * | data () const noexcept |
| Returns a const pointer to the device memory buffer. | |
| std::size_t | size () const noexcept |
| Returns the number of elements in the buffer. | |
A RAII wrapper for device memory allocation.
This class manages a dynamically allocated buffer on the device. It automatically handles memory allocation and deallocation following RAII principles, ensuring that device memory is properly freed when the buffer goes out of scope.
| T | The type of elements stored in the device buffer. |
|
inline |
Default constructor.
Constructs an empty device buffer with no allocated memory.
|
inlineexplicit |
Constructs a device buffer with specified capacity.
Constructs a device buffer and reserves memory for n elements on the device.
| [in] | n | The number of elements to allocate. |
|
inline |
Destructor.
Automatically frees the allocated device memory.
|
inline |
Reserves device memory for at least the specified number of elements.
If n is greater than the current size, the existing memory is freed and new memory is allocated. If the allocation fails, the buffer is left empty.
| [in] | n | The number of elements to reserve. |
|
inlinenoexcept |
Frees the allocated device memory.
Releases all device memory and resets the buffer to an empty state.
noexcept and is guaranteed not to throw exceptions.
|
inlinenoexcept |
Returns a pointer to the device memory buffer.
Provides direct access to the underlying device memory.
|
inlinenoexcept |
Returns a const pointer to the device memory buffer.
Provides direct read-only access to the underlying device memory.
|
inlinenoexcept |
Returns the number of elements in the buffer.
Returns the capacity of the buffer (number of elements allocated).