【发布时间】:2016-01-18 04:04:05
【问题描述】:
我正在尝试在设备内存上使用推力::排序。但它在运行时崩溃。 我还尝试禁用调试信息生成。
这是一个最小的例子:
cudaSetDevice(0);
int u[10];
int* v;
cudaMalloc(&v, 10 * sizeof(int));
for (int i = 0; i < 10 ; i++)
u[i] = 10-i;
cudaMemcpy(u, v, 10 * sizeof(int), cudaMemcpyHostToDevice);
try{
thrust::sort(thrust::device_ptr<int>(v), thrust::device_ptr<int>(v+10));
}
catch (thrust::system_error &e)
printf("Error: %s \n",e.what());
cudaMemcpy(v, u, 10 * sizeof(int), cudaMemcpyDeviceToHost);
for (int i = 0; i < 10; i++)
printf("%d\n", u[i]);
e.what() 给出以下消息:
CUDA 错误 11 [c:\program files\nvidia gpu 计算工具包\cuda\v7.5\include\thrust\system\cuda\detail\cub\device\disp atch/device_radix_sort_dispatch.cuh,687]:无效参数 CUDA错误11 [c:\program files\nvidia gpu计算工具包\cuda\v7.5\include\thrust\system\cuda\detail\cub\device\disp atch/device_radix_sort_dispatch.cuh,875]:无效参数 错误:在 cub_::DeviceRadixSort::SortKeys(1) 之后:参数无效
我正在使用带有 Cuda 助手的 GeForce 940M 和 VS13 来生成项目。 nvcc Build-line 是:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env --cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include" - I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include" --keep-dir Debug -maxrregcount=0 --machine 32 --compile -cudart static -g -DWIN32 -D_DEBUG -D_CONSOLE - D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -o Debug\kernel.cu.obj "C:\Users\ndrei\Documents\Visual Studio\2013\Projects\Thrust_Test\Thrust_Test\kernel .cu”
请帮帮我!
【问题讨论】:
标签: visual-studio sorting cuda gpu thrust