【问题标题】:CUDA hello world failedCUDA hello world 失败
【发布时间】:2014-09-27 00:08:37
【问题描述】:

我是 CUDA 的新手。这是我遇到的第一个问题:

我从网上测试了这样一段代码:

#include "stdio.h"
__global__ void add(int a, int b, int *c)
{
 *c = a + b;
}
int main()
{
int a,b,c;
int *dev_c;
a=3;
b=4;
cudaMalloc((void**)&dev_c, sizeof(int));
add<<<1,1>>>(a,b,dev_c);
cudaMemcpy(&c, dev_c, sizeof(int), cudaMemcpyDeviceToHost);
printf("%d + %d is %d\n", a, b, c);
cudaFree(dev_c);
return 0;
}

它给了:3 + 4 is 1

我编译:nvcc eg.cu 然后跑:./a.out

有什么问题吗?

仅供参考:

evn:Ubuntu 14.04,nvcc 5.5,机器:Nvidia Quadro K600 (Kepler)

【问题讨论】:

  • 通过添加调用 cudaGetLastError() 检查内核启动/执行错误。当我编译并运行它时,我看到 3 + 4 是 7。检查 nvidia-smi 或从示例目录运行 deviceQuery 以确保您的 GPU 一切正常。

标签: cuda


【解决方案1】:

@LeviBarnes 感谢您提供的有用功能。它返回“未检测到支持 CUDA 的设备”。

然后我从 CUDA 网站(运行版本)安装了最新版本(6.5)。现在效果很好! (原始版本来自 apt-get;5.5 版)

尽管我仍然不确定这个问题的原因。版本不匹配可能是其中之一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2018-04-26
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多