在丘比,可以分配一个多维
ndarray
在主机上,然后使用CUDA将其复制到GPU。我的问题是:
-
cupy.ndarray.strides
. 如果没有,为什么不呢?
-
为什么丘比不使用
cudaMalloc2D
,
cudaMalloc3D
cudaMallocPitch
?
我的目标是用
width
height
到全局内存(不是纹理内存-哪个
是
float* devPtr = nullptr;
size_t devPitch;
cudaMallocPitch((void **) &devPtr, &devPitch, sizeof(float) * width, height);
cudaMemcpy2D(devPtr, devPitch, my_array.data(),
width * sizeof(float), width * sizeof(float), height,
cudaMemcpyHostToDevice);
但是我在CuPy中找不到一种方法来保证在我的自定义内核中需要的属性。我试图“使用源代码,Luke”来了解到底发生了什么,但是找不到一个对CUDA代码的调用来实现这样的结果。