A Handle to a Buffer.
For onboard usages, the buffer should be Pooled (ie, coming from a preallocated pool).
The Detached version is for offline usages where we don’t really need a pool to deserialize them.
A CuPool is a pool of buffers that can be shared between different parts of the code.
Handles can be stored locally in the tasks and shared between them.