我可以訪問CUDA 6 RC作爲註冊開發人員,我想嘗試使用CUDA 6的新特性:統一內存。所以,我創建簡單的例子,當我嘗試使用此功能: 這裏是我的例子:CUDA 6:最簡單的樣本分割錯誤
#include <stdio.h>
#include <cuda_runtime.h>
int
main(void)
{
int numElements = 5000;
size_t size = numElements * sizeof(float);
float *a;
cudaMallocManaged(&a, numElements);
for (int i = 0; i < numElements; ++i)
{
a[i] = rand()/(float)RAND_MAX;
}
return 0;
}
我試着運行它的例子,但我得到了分段錯誤:
Segmentation fault: 11
問題 - 什麼我做錯了?
沒有'a'被分配了不正確的大小? – talonmies
@talonmies我嘗試更改numElements在cudaMallocManaged中的大小,但沒有任何更改 - 我有相同的錯誤 - 分段錯誤。 – Dampir