Description
The standard specifies that the second argument of repeat
("repeats
") can be an array of integers, but CuPy doesn't support this.
from array_api_compat import cupy as xp # not OK
# import array_api_strict as xp # OK
x = xp.asarray([1, 2, 3])
xp.repeat(x, x)
# ValueError: cupy.ndaray cannot be specified as `repeats` argument.
The array API documentation of repeats notes:
For specification-conforming array libraries supporting hardware acceleration, providing an array for
repeats
may cause device synchronization due to an unknown output shape. For those array libraries where synchronization concerns are applicable, conforming array libraries are advised to include a warning in their documentation regarding potential performance degradation whenrepeats
is an array.
From cupy/cupy#3849, I see that this is the case for CuPy. Not sure what that means for this issue. One could argue that CuPy does not support it and that this can be closed.