Properties of memory allocated by the device
cast a blob of bytes into a typed slice
cast a typed slice into a blob of bytes (same representation; no copy is made)
cast an array of typed slices to another array of blob of bytes an allocation is performed for the top container (the array of arrays) but the underlying data is moved without allocation
Holds a memory mapping to host visible memory. Memory is unmapped when object goes out of scope. It also acts as a void[], and allows to get a typed slice view on the data.
Structure representing all heaps and types of memory from a device. A device can have different heaps each supporting different types.