CUDA体系结构编程

CUDA体系结构编程,cuda,Cuda,在CUDA架构的编程过程中,我遇到了一个问题:设备资源太有限。换句话说,堆栈和堆太小 在研究它的过程中,我发现了一个函数 cudaDeviceSetLimit(cudaLimitStackSize,limit\u stack) 这会扩大堆栈的大小,堆的大小与此类似。尽管如此,它们的规模仍然非常有限 我想知道如何在设备上存储更多信息?堆栈和堆是为了方便而提供的。但是,如果您的gpu足够新,您可以在设备上使用cudaMalloc分配内存。在这种情况下,限制是gpu板载内存 如果您想要更多,您将需要一

在CUDA架构的编程过程中,我遇到了一个问题:设备资源太有限。换句话说,堆栈和堆太小

在研究它的过程中,我发现了一个函数
cudaDeviceSetLimit(cudaLimitStackSize,limit\u stack)
这会扩大堆栈的大小,堆的大小与此类似。尽管如此,它们的规模仍然非常有限


我想知道如何在设备上存储更多信息?

堆栈和堆是为了方便而提供的。但是,如果您的gpu足够新,您可以在设备上使用cudaMalloc分配内存。在这种情况下,限制是gpu板载内存


如果您想要更多,您将需要一个定制的内存分配管理一个大的系统内存阵列,并与gpu共享它(参见CudahosterRegister)。那么,限制就是你的系统内存。

你能展示一些代码来描述你想要实现的目标吗?您需要更改限额是不寻常的。谢谢。到现在为止,我一直使用cudaHostAlloc。我将尝试CudahosterRegister函数。