0
我剛開始學習如何使用CUDA API和我開始與這個導入引導部分配內存時的寫入位置誤差:https://devblogs.nvidia.com/parallelforall/even-easier-introduction-cuda/我得到訪問衝突嘗試使用CUDA
我下面的教程,但我想以後與cudaMallocManaged()
我想初始化數組分配內存,而是試圖初始化數組時,拋出一個異常,它說:
異常在VectorAdd.exe在0x003983D7拋出:0000005:訪問衝突寫入位置00000000。
該程序可以識別我的GPU,我知道因爲我製作了一個函數,可以寫入我所有的CUDA設備,而且我的GPU在那裏。
這是我的代碼,就像顯示在教程:
int main(void)
{
PrintCudaDevices();
int N = 1 << 20; //1M elements
float *x, *y;
cudaMallocManaged(&x, N * sizeof(float));
cudaMallocManaged(&y, N * sizeof(float));
for (int i = 0; i < N; i++)
{
x[i] = 1.0f;
y[i] = 2.0f;
}
}
我GOOGLE了這個問題,但我沒有找到任何有效的解決方案。
這個問題在你鏈接的博客文章中討論[這裏](https://devblogs.nvidia.com/parallelforall/even-easier-introduction-cuda/#comment-3457108927)。 –