I've been working on creating a few lazy arrays for our applications. For large data volumes, it is often critical to avoid the use of bounce buffers. Essentially, I'm looking to see if there exists a function like `np.take` that would take: 1. A slice for the input array. 2. A slice for the output array. 3. Assign the slice of the input array to the output array. I could "slice" and assign, Pseudocode: s = MyFancyArray((3, 1024, 1024, 1024)) # A very big array a = np.zeros(s.shape, dtype=s.dtype) a[...] = s # I want this operation to be crafted carefully But that seems to: 1. Instantiate the full array `s` with `__array__`. 2. slice into s without passing me a reference to the array `a`. Is there something like `np.take` or `np.copyto` that is more general?
participants (1)
-
Mark Harfouche