【问题标题】:Setting Nsight to run with existing Makefile project将 Nsight 设置为与现有 Makefile 项目一起运行
【发布时间】:2013-11-11 09:17:59
【问题描述】:

我通常使用 emacs 或 Kate,但我决定尝试“现代”IDE 来运行我的代码。 我有一个已经在运行的 CUDA/C++ makefile 项目,我想在 nsight 上运行它,但我不知道如何满足我的需求。

如何告诉 nsight eclipse 5.0.0 使用现有的 makefile 运行我的项目? 抱歉,如果我的问题对您来说很愚蠢,但我对 IDE 完全陌生。

【问题讨论】:

  • 我猜你的意思是 nsight Eclipse 版(即 Linux?——因为问题是用 eclipse 标记的)还是你的意思是 nsight Visual Studio 版(即 windows)?
  • 罗伯特好点,我在下面的回答假设 Visual Studio 版...
  • 感谢您的及时回复,并为我迟到的回复感到抱歉。是的,确实我在 linux 上,所以我会回答 eclipse 版..下次我会指出来

标签: c++ eclipse cuda nsight


【解决方案1】:

您可以设置一个“虚拟”项目(我的意思是创建一个空的 Visual Studio 项目),然后在 Nsight 用户属性页面中(您可以在此处阅读 http://docs.nvidia.com/nsight-visual-studio-edition/3.2/Nsight_Visual_Studio_Edition_User_Guide.htm#Launch_CUDA_Debugger.htm),只需设置“启动外部程序”到(makefile)生成的EXE路径,也不要忘记设置工作目录。 应该这样做。

如果有帮助,请告诉我。干杯。

【讨论】:

  • 感谢您的回复,但实际上我是在linux上,所以我在做Eclipse..我的错误我没有说清楚。
  • 我使用 Visual Studio 2012 和 Nsight 4.2。遗憾的是,Nsight 版本似乎忽略了我的远程调试配置,并尝试在原始项目文件夹中启动 projectname.exe。 Visual Studio 调试器正确启动我的外部应用程序。我是否必须配置一些 Nsight 在远程调试模式下运行的额外内容?
  • 我现在看到 Nsight 启动操作是在 Project->Nsigght 用户属性中单独设置的。这为我解决了问题。
【解决方案2】:

使用 Nsight EE,您有多种选择:

创建一个新项目并复制源代码

您可以使用 shell 或任何文件管理器将源文件复制到项目位置。确保在复制文件后手动刷新项目。

在与源文件相同的文件夹中创建项目

在这篇文章中,我将使用 nbody CUDA 示例(请注意,Nsight 还有一个更原生的选项来导入 CUDA 示例,我将在此处忽略该选项):

  1. 运行 cuda-install-samples-6.0.sh 在 ~/dev/cuda/NVIDIA_CUDA-6.0_Samples 中制作样本的可写副本
  2. 在 Nsight EE 中,转到 File->New->CUDA C/C++ Project
  3. 在第一个向导页面上:

    • 输入您的项目名称(几乎可以是任何字符串)
    • 取消选中“使用默认位置”并选择您的根文件夹(在我的情况下为 ~/dev/cuda/NVIDIA_CUDA-6.0_Samples/5_Simulations/nbody)
    • Project Type树中选择Makefile Project/*Empty Project*
    • 工具链列表中选择CUDA Toolkit 5.5
  4. 完成向导

您将在 Project Explorer 视图中看到新创建的项目以及所有文件。按 Build 将在您的项目位置运行 make all - 您可以在项目属性中自定义它(除其他外)。

注意: Nsight 会将几个文件添加到项目的根文件夹中。

注意: Nsight 中的某些源代码编辑功能可能无法像在 Nsight 自己维护 makefile 的项目中那样可靠地用于 Makefile 项目。 Nsight 不知道从自定义 makefile 传递的所有编译器参数,因此它可能不知道所有包含路径或宏值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多