2
在我的機器上,下面代碼中對cudeMemPrefetchAsync的調用返回10(cuda錯誤無效設備),而不是0.該設置是運行Windows 10並帶有NVidia GTX 1080 GPU和板載Intel HD Graphics 530的Alienware 17筆記本電腦。使用驅動程序來自NVidia(移動驅動程序)的376.19)。GTX 1080(Pascal)上的cudaMemPrefetchAsync錯誤?
我編譯了compute_61,sm_61。另一位用戶嘗試在Pascal架構(Titan X)上運行相同的代碼,並且它正確返回0。我也在Debug和Release模式下測試了這個結果。有任何想法嗎?
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
int main()
{
int* data;
size_t len = 10;
cudaError_t err = cudaSetDevice(0);
err = cudaMallocManaged(reinterpret_cast<void **>(&data), len, cudaMemAttachGlobal);
err = cudaMemPrefetchAsync(data, len, 0, 0);
}
只是爲了確保 - 只有在調用'cudaMemAttachGlobal'調用之後,您纔會收到無效的設備錯誤,對嗎? – einpoklum