A class that encapsulates the CUDA memory allocation/deallocation process.
Copies data from the device to the host.
Provides the size of the buffer allocated on the CUDA device.
Provides the device pointer.
Copies data from the host to the device.
Constructs a CUDABuffer object and allocates memory on the CUDA device.
Releases the CUDA resources used by buf internally.