我目前正在Visual Studio 2012 Express上运行CUDA 5.0 Toolkit。
我试图运行以下代码
我在Visual Studio上编译.cu的方法已经搜索了高低,但无济于事
我试图编译代码:
//CUDA.cu
#include <iostream>
#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
using namespace std;
__global__ void Add(int* a, int* b)
{
a[0] += b[0];
}
int main()
{
int a = 5, b = 9;
int *d_a, *d_b;
cudaMalloc(&d_a, sizeof(int));
cudaMalloc(&d_b, sizeof(int));
cudaMemcpy(d_a, &a, sizeof(int), cudaMemcpyHostToDevice);
cudaMemcpy(d_b, &b, sizeof(int), cudaMemcpyHostToDevice);
Add<<< 1 , 1 >>>(d_a, d_b);
cudaMemcpy(&a, d_a, sizeof(int) , cudaMemcpyDeviceToHost);
cout << a << endl;
return 0;
}
编译器在行
中显示错误Add<<< 1 , 1 >>>(d_a, d_b);
它所说的"Error:expected an expression"
任何编译此代码的尝试都会导致成功。但是没有找到.exe因此我无法进行任何调试。
Unable to start program 'C:\Users\...\CUDATest3.exe'
The system cannot find the file specified
任何帮助都非常感谢。感谢
CK
答案 0 :(得分:1)
虽然我很想了解为什么在我的计算机中CUDA认为VS是一个令人遗憾的可怜程序,但是我通过从CUDA提供的模板中复制手铐来处理这两个程序,我采取了一条捷径。安装工具包。 (CUDA样本。)
显然这些样品已经准备好了所有的东西;您需要做的就是从解决方案内部编辑代码。出于某种原因,如果我从第一方编写了所有代码,代码将无法工作。
我仍然不知道为什么我无法让它从头开始运行,但我想
编辑样本模板会产生令人满意的结果
如果没有时间的话。