Как создать подкласс массива CuPy?

Для NumPy можно использовать

class A(np.ndarray): pass
a = np.random.rand(10, 10).view(A)
print(a) # OK

Но для Cupy следующая операция приводит к segfault:

class A(cp.ndarray): pass
a = cp.random.rand(10, 10).view(A)
print(a) # segfault

Я просмотрел документ, но нашел мало информации. Это ожидается? Я использую CuPy 5.2, Python 3.6.8 и CUDA10.

1 ответ

Согласно документации numpy.ndarray.view, он принимает два входных аргумента: dtype а также type, Если dtype Аргумент является подклассом numpy.ndarray, это интерпретируется как type аргумент.

С другой стороны, согласно документации cupy.ndarray.view, он принимает только один входной аргумент: dtype, Похоже cupy.ndarray.view не поддерживается type спор сейчас.

Другие вопросы по тегам