Borrow an array; return an owned, row-contiguous copy on the GPU.
Values and dtype are unchanged. Evaluation stays lazy and never reads data
back to the host. Use only when independent compact storage is required;
immutable array aliases normally avoid this allocation and dispatch.
Slice sizes are concrete, so compile it only in fixed-shape (not shapeless) functions.
Borrow an array; return an owned, row-contiguous copy on the GPU. Values and dtype are unchanged. Evaluation stays lazy and never reads data back to the host. Use only when independent compact storage is required; immutable array aliases normally avoid this allocation and dispatch. Slice sizes are concrete, so compile it only in fixed-shape (not shapeless) functions.