You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CUDA 13.2 adds attribute-carrying variants of single copies:
cuMemcpyWithAttributesAsync(CUdeviceptr dst, CUdeviceptr src, size_t size, CUmemcpyAttributes* attr, CUstream)
— flat 1D copy taking the same CUmemcpyAttributes (access-order and location hints)
introduced with the 12.8 batched-copy machinery;
cuMemcpy3DWithAttributesAsync(CUDA_MEMCPY3D_BATCH_OP* op, unsigned long long flags, CUstream)
— executes a single 3D batch-op descriptor.
cuda.core's copy APIs (Buffer.copy_to / copy_from) accept no attributes today. #1333
tracks the batched entry points (cuMemcpyBatchAsync — its P1 discard/prefetch half is
already implemented in _memory/_managed_memory_ops.pyx);
the attribute plumbing is shared, so this issue should be implemented in coordination with #1333.
Summary
CUDA 13.2 adds attribute-carrying variants of single copies:
cuMemcpyWithAttributesAsync(CUdeviceptr dst, CUdeviceptr src, size_t size, CUmemcpyAttributes* attr, CUstream)— flat 1D copy taking the same
CUmemcpyAttributes(access-order and location hints)introduced with the 12.8 batched-copy machinery;
cuMemcpy3DWithAttributesAsync(CUDA_MEMCPY3D_BATCH_OP* op, unsigned long long flags, CUstream)— executes a single 3D batch-op descriptor.
cuda.core's copy APIs (Buffer.copy_to/copy_from) accept no attributes today. #1333tracks the batched entry points (
cuMemcpyBatchAsync— its P1 discard/prefetch half isalready implemented in
_memory/_managed_memory_ops.pyx);the attribute plumbing is shared, so this issue should be implemented in coordination with
#1333.
Underlying C APIs to cover
cuMemcpyWithAttributesAsync,cuMemcpy3DWithAttributesAsync(13.2); reusesCUmemcpyAttributes/
CUDA_MEMCPY3D_BATCH_OP(12.8).Design sketch (draft — needs design-meeting review)
Important
Starting point only, not a settled design — review in the cuda.core design meeting,
together with #1333.
The same
CopyAttributesobject would feed #1333's batched API.Open questions for the meeting:
CUmemcpyAttributes(StrEnum for access order;Device/Hostobjects for location hints).
References
-- Leo's bot