CUDA似乎没有编译

CUDA does not seem to compile

本文关键字:编译 CUDA      更新时间:2023-10-16

我当前正在Visual Studio 2012学习版上运行CUDA 5.0工具包。

我尝试运行以下代码

我在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

虽然我很想了解为什么CUDA在我的计算机中认为VS是一个可悲的程序,但我走了一条捷径,通过从CUDA安装工具包提供的模板中复制来将这两个程序都铐起来。(CUDA样本。)

显然,这些样品已经准备好了一切;您所需要做的就是从解决方案本身内部编辑代码。出于某种原因,如果我从头开始编写所有代码,代码就不会工作。

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

编辑样本模板会得到非常令人满意的结果

如果没有时间的话。