cuda.bindings._v2.driver.mem_alloc_async#

cuda.bindings._v2.driver.mem_alloc_async(size_t bytesize, intptr_t h_stream) → uint64_t#

Allocates memory with stream ordered semantics.

Inserts an allocation operation into h_stream. A pointer to the allocated memory is returned immediately in *dptr. The allocation must not be accessed until the the allocation operation completes. The allocation comes from the memory pool current to the stream’s device.

Parameters:
  • bytesize (size_t) – Number of bytes to allocate.

  • h_stream (intptr_t) – The stream establishing the stream ordering contract and the memory pool to allocate from.

Returns:

Returned device pointer.

Return type:

uint64_t

Note

The default memory pool of a device contains device memory from that device.

Note

Basic stream ordering allows future work submitted into the same stream to use the allocation. Stream query, stream synchronize, and CUDA events can be used to guarantee that the allocation operation completes before work submitted in a separate stream runs.

Note

During stream capture, this function results in the creation of an allocation node. In this case, the allocation is owned by the graph instead of the memory pool. The memory pool’s properties are used to set the node’s creation parameters.

See also

cuMemAllocAsync