gpt4 book ai didi

c++ - 如何在混合 cuda C++ 程序中调试主机代码?

转载 作者:行者123 更新时间:2023-11-28 02:51:29 28 4
gpt4 key购买 nike

我的工作平台是VS2010和Nsight 3.1。

使用 Nsight,可以在 cuda 内核中设置断点,并且调试器运行良好。如果在主机代码中设置了断点,Nsight 会忽略它们。

我不知道是否可以在宿主代码中设置断点并使用VS2010提供的调试器。我试过了,但是程序在遇到第一个 cudaMalloc 函数时停止了。有人可以告诉我如何在混合的 cuda 和 c++ 程序中调试主机代码吗?

非常感谢。

最佳答案

恐怕您无法在 VS 上同时调试 CUDA 和 C++ 程序。这是一个解决方法。希望对你有帮助

  1. 启动 Windows 命令行。设置 NSIGHT_CUDA_DEBUGGER=1
  2. 在此命令行中,执行您的 CUDA 应用程序(我认为这是一个长期执行)。
  3. 打开一个 VS。工具菜单 -> 附加到进程。选择传输作为 Nsight CPU 调试器并附加到您的应用程序。然后你就可以调试 CUDA 代码了
  4. 打开另一个 VS。选择传输作为默认值。附加到应用程序,然后您可以调试 C++ 代码
  5. 请注意,如果应用程序被一个 VS 挂起,则无法被另一个 VS 调试。您必须恢复当前的一个,然后切换到另一个。

关于c++ - 如何在混合 cuda C++ 程序中调试主机代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943671/

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