CUDA似乎没有编译

时间:2014-09-13 04:35:07

标签: c++ visual-studio-2012 cuda

我目前正在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

1 个答案:

答案 0 :(得分:1)

虽然我很想了解为什么在我的计算机中CUDA认为VS是一个令人遗憾的可怜程序,但是我通过从CUDA提供的模板中复制手铐来处理这两个程序,我采取了一条捷径。安装工具包。 (CUDA样本。)

显然这些样品已经准备好了所有的东西;您需要做的就是从解决方案内部编辑代码。出于某种原因,如果我从第一方编写了所有代码,代码将无法工作。

我仍然不知道为什么我无法让它从头开始运行,但我想

编辑样本模板会产生令人满意的结果

如果没有时间的话。