gpt4 book ai didi

visual-studio-2010 - 为 CUDA 内核调用设置 Visual Studio Intellisense

转载 作者:行者123 更新时间:2023-12-03 11:47:05 24 4
gpt4 key购买 nike

我刚刚开始 CUDA 编程,并且进展顺利,我的 GPU 被识别出来了。我已经使用这个非常有用的指南在 Visual Studio 中部分设置了 Intellisense:
http://www.ademiller.com/blogs/tech/2010/10/visual-studio-2010-adding-intellisense-support-for-cuda-c/

和这里:
http://www.ademiller.com/blogs/tech/2011/05/visual-studio-2010-and-cuda-easier-with-rc2/

但是,Intellisense 仍然无法接收这样的内核调用:

// KernelCall.cu
#include <iostream>
#include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

__global__ void kernel(void){}

int main()
{
kernel<<<1,1>>>();

system("pause");
return 0;
}

行 kernel<<<1,1>>>() 带有红色下划线,特别是第一个箭头左侧的一个箭头,错误为“错误:预期和表达式”。但是,如果我将鼠标悬停在该函数上,它的返回类型和参数会正确显示。它仍然编译得很好,我只是想知道如何摆脱这个小烦恼。

最佳答案

Visual Studio 为 C++ 提供 IntelliSense,火箭科学家博客中的技巧基本上依赖于 CUDA-C 与 C++ 的相似性,仅此而已。

在C++语言中,正确解析尖括号很麻烦。你有 <作为小于和用于模板,以及 <<作为转变,记得不久前我们不得不在嵌套的模板声明之间放置一个空格。

所以事实证明,提出这种语法的 NVIDIA 人并不是语言专家,他碰巧选择了最糟糕的分隔符,然后将其增加了三倍,好吧,你会遇到麻烦。令人惊讶的是,Intellisense 在看到这一点时竟然能正常工作。

我知道在 CUDA 中获得完整 IntelliSense 的唯一方法是从运行时 API 切换到驱动程序 API。 C++ 只是 C++,而 CUDA 仍然是(某种)C++,没有 <<<>>>语言解析必须解决的坏处。

关于visual-studio-2010 - 为 CUDA 内核调用设置 Visual Studio Intellisense,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com