第一个CUDA程序遇到了问题,请大家帮忙看一下。
大家好,小弟刚开始学CUDA,照着《GPU高性能运算之CUDA》敲了第一个程序——两个向量相加。书上代码不全,我自己补充了一些。编译能通过,但是运行出错。各位大侠看看这个问题该如何解决?
程序:
#include <stdlib.h>
#include <stdio.h>
#include <cutil.h>
__global__ void VecAdd(float* A, float* B, float* C)
{
int i = threadIdx.x;
C[i] = A[i] + B[i];
}
int main()
{
float A[5] = {1,2,3,4,5};
float B[5] = {1,1,1,1,1};
float C[5];
VecAdd<<<1,5>>>(A, B, C);
int i;
for(i=0;i<5;i++){
printf("%f",C[i]);
}
getchar();
}
后台输出:
“CUDAWinApp7.exe”: 已加载“D:\Backup\我的文档\Visual Studio 2008\Projects\CUDAWinApp7\EmuDebug\CUDAWinApp7.exe”,已加载符号。
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\ntdll.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\kernel32.dll”
“CUDAWinApp7.exe”: 已加载“C:\CUDA\bin\cudart.dll”,未使用调试信息生成二进制文件。
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\nvcuda.dll”,未使用调试信息生成二进制文件。
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\user32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\gdi32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\opengl32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\msvcrt.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\advapi32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\rpcrt4.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\secur32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\glu32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\ddraw.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\dciman32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\imm32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\lpk.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\usp10.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\nvapi.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\ole32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\oleaut32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\shlwapi.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\shell32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\setupapi.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll”
“CUDAWinApp7.exe”: 已加载“C:\WINDOWS\system32\comctl32.dll”
CUDAWinApp7.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012fda8 处的 cudaError_enum。
CUDAWinApp7.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012fd9c 处的 cudaError。
CUDAWinApp7.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012fe40 处的 cudaError。
线程 'Win32 线程' (0xb30) 已退出,返回值为 -1073741510 (0xc000013a)。
程序“[164] CUDAWinApp7.exe: 本机”已退出,返回值为 -1073741510 (0xc000013a)。