【发布时间】:2023-03-28 08:09:01
【问题描述】:
为了为 Kepler K20 编译项目,我们需要设置 -rdc=true 标志。我们如何在 nsight eclipse 版中设置这个标志?我的版本是 CUDA 5.K20。 nsight eclipse版
【问题讨论】:
-
开普勒不需要
-rdc=true。您确实需要-arch=sm_35(对于 K20),但 Nsight EE 可以通过项目属性页面自动为您设置。-rdc=true是某些类型的项目结构(库、增量编译等)所必需的,除了链接步骤中的-rdc=true之外,您还需要-dc而不是-c-对象步骤。 Nsight EE 的项目类型也可以根据您的项目类型自动为您处理。 -
当我没有提到
rdc=true时,编译过程抛出了错误,比如未定义的缓冲区引用.. -
是的,同意,但这是因为您的项目的结构方式。这不是 Kepler K20 的要求。
-
我只有一个文件..没什么花哨的..仍然显示错误,程序正在使用 nsight EE 之外的命令编译,但不在 EE 中。
-
如果您仍然遇到问题,也许您应该发布一个简单、完整的示例代码来显示问题,以及您设置 Nsight EE 项目所经历的步骤。如果您的整个程序只是一个文件,则不需要
-rdc标志。您可能没有在 Nsight EE 中选择方便的项目类型。您也可以通过将 Nsight EE 使用的编译命令行与您手动使用的编译命令行进行比较来弄清楚。