【发布时间】:2014-09-03 02:25:53
【问题描述】:
我有一个与 CUDA 相关的问题。我创建了一个二维数组:
char **WordMatrix = new char*[N]; // M and N set by the user
for(int i = 0; i < N; ++i)
{
WordMatrix[i] = new char[M];
}
我用循环填充数组。在那之后我的问题出在哪里:我无法设法在设备中分配内存并从主机复制到设备。
我看到了与此相关的其他问题,但我不明白其中的逻辑。 喜欢这个主题:https://devtalk.nvidia.com/default/topic/410182/double-pointer-allocation/ 或在这里。
我想通过使用 cudaMemcpy 和 cudaMalloc 以及 2D Array 的代码示例来了解如何做到这一点,还解释了为什么我们需要支持(如果您使用链接中的方法)指针?
【问题讨论】:
标签: c++ multidimensional-array cuda