Microsoft Visual Studio发现我所有的CUDA设备端函数都有错误

Microsoft Visual Studio finds errors with all of my CUDA device-side functions

本文关键字:函数 有错误 CUDA Studio Visual 发现 Microsoft      更新时间:2023-10-16

我想知道是否有人可以帮助解决我在 Cuda 代码中遇到的此错误。我想定义函数,但它说这个声明没有存储类或类型说明符。有人知道我该怎么办吗?这是指向错误屏幕截图的链接。

> 正如@RobertCrovella所解释的那样,这只是您的 IDE 在解析源代码时不知道 CUDA 关键字。

你可以做的是让你的解析器找到一个

#define __device__

行,这将使它停止抱怨。问题是,您希望 CUDA 编译器不要命中此#define。所以你可以把它放在一个#ifdef,像这样:

#ifdef __CUDACC__
#define __device__
#endif

这能解决问题。

当然,这只处理一个关键字,__device__ 。您需要对所有 CUDA 关键字以及隐式定义的类型和函数具有类似的定义。