小编pha*_*sel的帖子

没有检测到支持CUDA的设备

我是CUDA编程的新手,我完全陷入困境.当我尝试运行提供的deviceQuery实用程序或其中一个示例应用程序时,我收到以下错误:

cudaGetDeviceCount returned 38
no CUDA-capable device is detected.
Run Code Online (Sandbox Code Playgroud)

我使用的是Windows 7,64位.我安装了Visual Studio 2012,然后安装了CUDA 5.0 64位.我的显卡是NVIDIA GeForce GTS 250.今天我去了NVIDIA网站并重新安装了该卡的最新驱动程序.

除了"确保安装了正在运行的驱动程序"之外,我在Windows中找不到任何对此错误的支持.有没有人知道什么可能是错的?

windows cuda nvidia

8
推荐指数
1
解决办法
4786
查看次数

将数据复制到"cufftComplex"数据结构?

我将数据存储为浮点数组(单精度).我有一个数组用于我的实际数据,一个数组用于我的复杂数据,我用它作为FFT的输入.cufftComplex如果我想使用CUDA cufft库,我需要将这些数据复制到数据类型中.来自nVidia:" cufftComplex是一种单精度,浮点复数数据类型,由交错的实部和虚部组成." 袖带操作的数据存储在数组中cufftComplex.

如何快速将数据从普通C数组复制到数组中cufftComplex?我不想使用for循环,因为它可能是最慢的选项.我不知道如何使用memcpy这种类型的数组数据,因为我不知道它是如何存储在内存中的.谢谢!

cuda memcpy

6
推荐指数
1
解决办法
4559
查看次数

如何使用C链接制作CUDA对象文件?

我想在C项目中包含一些CUDA代码.为此,我正在将CUDA源(.cu文件)编译为静态库(.lib,我正在Windows中开发).然后,我希望将此静态库链接到我的C项目.但是,我的链接器抱怨这一步,我相信这是因为C/C++链接问题.我得到的具体错误看起来像这样:

 Undefined symbol '_cudaMallocHost@8' referenced in "cufft object file.lib".
Run Code Online (Sandbox Code Playgroud)

我正在使用CUDA 5.0,我正在使用Visual Studio 10在Windows 7计算机上编写和编译CUDA源代码.

首先,我有一个.cu源文件,它编译成一个静态库("cufft object file.lib")就好了.我将整件事包裹起来extern C { }.它看起来像这样:

extern "C" {

#include <cuda.h>
#include <cufft.h>

int myCUDAfunction()
{
    //Some CUDA code
}

}
Run Code Online (Sandbox Code Playgroud)

为此,我创建了一个头文件,其中包含.cu源代码中定义的函数列表("myCUDAheader.h"),其内容只是一系列函数原型:

int myCUDAfunction();
Run Code Online (Sandbox Code Playgroud)

等等

最后在我的C项目中,我添加了静态库并包含头文件.

在我开始声明CUDA源.cu文件中的函数之前extern "C",链接器抱怨缺少这些函数的符号.它们现在必须正确编译到C链接,但实际的CUDA函数(例如cudaMalloc)似乎仍然具有C++链接.我该如何解决这个问题?

c c++ cuda linkage

1
推荐指数
1
解决办法
1089
查看次数

标签 统计

cuda ×3

c ×1

c++ ×1

linkage ×1

memcpy ×1

nvidia ×1

windows ×1