@@ -9,11 +9,9 @@ from collections.abc import Sequence
99IF CUDA_CORE_BUILD_MAJOR >= 13 :
1010 from libcpp.vector cimport vector
1111
12- from libc.string cimport memset
13-
1412from cuda.bindings cimport cydriver
1513from cuda.core._memory._buffer cimport Buffer, Buffer_coerce_batch
16- from cuda.core._memory._location cimport to_cumemlocation
14+ from cuda.core._memory._copy_attributes cimport _to_cu_memcpy_attributes # no-cython-lint
1715from cuda.core._resource_handles cimport as_cu
1816from cuda.core._stream cimport Stream, Stream_accept, Stream_is_default_token
1917from cuda.core._utils.cuda_utils cimport HANDLE_RETURN
@@ -24,7 +22,6 @@ from cuda.core._utils.cuda_utils cimport HANDLE_RETURN
2422from cuda.core._utils.version cimport cy_driver_version # no-cython-lint
2523
2624from cuda.core._memory._copy_enums import CopyOptions, _attr_run_starts # no-cython-lint
27- from cuda.core._memory._managed_location import _coerce_location
2825
2926_SINGLE_COPY_HINT = " Buffer.copy_to / Buffer.copy_from"
3027
@@ -87,24 +84,6 @@ def _normalize_copy_options(
8784 )
8885
8986
90- cdef cydriver.CUmemcpyAttributes _to_cu_memcpy_attributes(object attr):
91- """ Convert a CopyOptions to a cydriver.CUmemcpyAttributes struct."""
92- cdef cydriver.CUmemcpyAttributes cu_attr
93- memset(& cu_attr, 0 , sizeof(cydriver.CUmemcpyAttributes))
94- cu_attr.srcAccessOrder = < cydriver.CUmemcpySrcAccessOrder> (< int > attr._to_driver_enum())
95- cu_attr.flags = < unsigned int > (< int > attr._to_driver_flags())
96-
97- cdef object src_loc = _coerce_location(attr.src_location_hint, allow_none = True )
98- cdef object dst_loc = _coerce_location(attr.dst_location_hint, allow_none = True )
99-
100- if src_loc is not None :
101- cu_attr.srcLocHint = to_cumemlocation(src_loc.kind, src_loc.id)
102- if dst_loc is not None :
103- cu_attr.dstLocHint = to_cumemlocation(dst_loc.kind, dst_loc.id)
104-
105- return cu_attr
106-
107-
10887def copy_batch (
10988 stream: Stream ,
11089 srcs: Sequence[Buffer],
0 commit comments