Closed
Description
Reproducer:
import dpctl.tensor as dpt
a = dpt.asarray([])
dpt.astype(a, float)
Output:
Traceback (most recent call last):
File "/localdisk/work/plukiche/dpnp_fork/dpctl_empty_astype_repro.py", line 4, in <module>
dpt.astype(a, float)
File "/localdisk/work/plukiche/miniconda/miniconda3/envs/dpnptc4_internal/lib/python3.8/site-packages/dpctl/tensor/_copy_utils.py", line 447, in astype
_copy_from_usm_ndarray_to_usm_ndarray(R, usm_ary)
File "/localdisk/work/plukiche/miniconda/miniconda3/envs/dpnptc4_internal/lib/python3.8/site-packages/dpctl/tensor/_copy_utils.py", line 282, in _copy_from_usm_ndarray_to_usm_ndarray
copy_same_shape(dst, src)
File "/localdisk/work/plukiche/miniconda/miniconda3/envs/dpnptc4_internal/lib/python3.8/site-packages/dpctl/tensor/_copy_utils.py", line 239, in copy_same_shape
copy_same_dtype(dst, src)
File "/localdisk/work/plukiche/miniconda/miniconda3/envs/dpnptc4_internal/lib/python3.8/site-packages/dpctl/tensor/_copy_utils.py", line 197, in copy_same_dtype
if _has_memory_overlap(dst, src):
File "/localdisk/work/plukiche/miniconda/miniconda3/envs/dpnptc4_internal/lib/python3.8/site-packages/dpctl/tensor/_copy_utils.py", line 69, in _has_memory_overlap
m1 = dpm.as_usm_memory(x1)
File "dpctl/memory/_memory.pyx", line 736, in dpctl.memory._memory.as_usm_memory
File "dpctl/memory/_memory.pyx", line 203, in dpctl.memory._memory._Memory._cinit_other
File "dpctl/memory/_sycl_usm_array_interface_utils.pxi", line 185, in dpctl.memory._memory._USMBufferData.from_sycl_usm_ary_iface
File "dpctl/memory/_sycl_usm_array_interface_utils.pxi", line 83, in dpctl.memory._memory._pointers_from_shape_and_stride
ValueError: Array shape elements need to be positive
dpctl version is 0.12.0dev1+104.gccd21b68