vscode使用nsight调试cuda代码
因为在学习cuda编程,所以当然要调试了。
CUDA Support in Visual Studio Code with Julia Reid (youtube.com)
安装 nsight vscode插件
如何调试多个文件夹、子文件里面额task.json
搜了半天,总算可以用工作空间的方式解决了:
How to run/debug Azure Functions project in a sub-folder in VS Code? - Microsoft Q&A
Multiple function projects · microsoft/vscode-azurefunctions Wiki (github.com)
构建
把项目文件夹(包含.vscode/tasks.json)添加到工作空间,这样vscode可以根据活动的文件确定工作路径,从而调用路径下的.vscode里面的配置。
构建就是调用make根据构建规则变异出.o可执行文件。
调试
注意!~cuda-gdb 主要需要用到python3,为了方便,在conda的虚拟环境中执行,conda activate base
调试GPU代码部分
给断点加表达式条件
用界面和cuda-gdb交互
问题!没有sm wrap lane显示???我怀疑是nsight版本过低?
帮我查查a100哪一年发布的,cuda 11.4是哪一年发布的?
NVIDIA A100 GPU 是在2020年发布的。这款GPU基于NVIDIA的Ampere架构,旨在为人工智能、数据科学和高性能计算提供强大的加速能力。A100 GPU提供了显著的性能提升,特别是在AI训练和推理方面,它能够提供高达20倍的性能提升。
至于CUDA 11.4,这是一个CUDA Toolkit的版本,它在2021年发布。CUDA Toolkit是一个并行计算平台和编程模型,允许开发者利用NVIDIA的GPU进行通用计算。CUDA 11.4版本带来了对新硬件的支持,包括Ampere架构的GPU,以及对现有功能的性能改进和新特性的添加。这个版本的CUDA Toolkit为开发者提供了更好的工具和库,以便更有效地利用NVIDIA GPU的计算能力。
问题!为什么 info cuda kernel 显示 ?
问题!vscode的debug console调试控制台原理是什么?输入的命令实际是在和什么交互?和cuda-gdb什么关系?为什么 info cuda kernel无效?
在 Visual Studio Code (VSCode) 中,调试控制台(Debug Console)是与调试器交互的界面,它允许开发者在运行时检查和修改程序的状态。当你在调试控制台中输入命令时,这些命令实际上是发送给当前运行的调试器,例如 cuda-gdb
。
cuda-gdb
是 NVIDIA 提供的一个调试器,它是一个针对 CUDA 应用程序的 GDB(GNU Debugger)前端。它允许开发者设置断点、单步执行、检查变量值以及执行其他调试操作。cuda-gdb
特别针对 CUDA 应用程序设计,可以调试 CPU 和 GPU 代码,并且支持 CUDA 特定的调试功能。
在 VSCode 中,当你使用 CUDA 扩展进行调试时,你实际上是在与 cuda-gdb
交互。VSCode 提供了一个用户友好的界面来发送调试命令给 cuda-gdb
,并且显示调试信息。
至于为什么 info cuda kernel
命令无效,这可能是因为 cuda-gdb
中并没有这个特定的命令。info cuda kernel
可能是一个自定义的命令或者是一个错误输入。在 cuda-gdb
中,你可以使用 info
命令来获取关于当前调试状态的信息,例如 info registers
来查看寄存器的值,或者 info locals
来查看局部变量。如果你想要获取关于 CUDA 内核的信息,你可能需要使用 cuda-gdb
提供的相关命令,或者检查内核的源代码来获取你需要的信息。
如果你在使用 VSCode 调试 CUDA 应用程序时遇到问题,建议查阅 cuda-gdb
的官方文档,或者在 VSCode 的调试控制台中尝试使用 help
命令来获取可用命令的列表。此外,VSCode 的调试控制台也提供了自动补全功能,可以帮助你找到正确的命令。
问题!如何单独升级 cuda-gdb,cudagdg原理是用cuda installer安装的?cuda-gdb
是 NVIDIA 提供的一个用于调试 CUDA 应用程序的 GDB 前端。它允许开发者在运行时检查和修改程序的状态,包括设置断点、单步执行、检查变量值等。cuda-gdb
是通过 NVIDIA CUDA Toolkit 安装的,通常在安装 CUDA Toolkit 时一起安装。
要单独升级 cuda-gdb
,你通常需要更新整个 CUDA Toolkit,因为 cuda-gdb
是 CUDA Toolkit 的一部分。以下是升级 CUDA Toolkit 的一般步骤:
-
访问 NVIDIA CUDA Toolkit 下载页面:
- 打开你的网络浏览器,访问 NVIDIA CUDA Toolkit 的官方下载页面(https://developer.nvidia.com/cuda-downloads)。
-
选择适合你的系统和版本的 CUDA Toolkit:
- 在下载页面上,选择适合你的操作系统和硬件的 CUDA Toolkit 版本。
-
下载 CUDA Toolkit 安装包:
- 下载与你的系统兼容的最新版本的 CUDA Toolkit 安装包。
-
运行安装程序:
- 运行下载的安装程序,并按照提示进行操作。在安装过程中,确保选择包含
cuda-gdb
的组件。
- 运行下载的安装程序,并按照提示进行操作。在安装过程中,确保选择包含
-
验证安装:
- 安装完成后,可以通过运行
cuda-gdb
命令来验证cuda-gdb
是否已成功升级。
- 安装完成后,可以通过运行
请注意,具体的升级步骤可能会根据你的操作系统和 CUDA Toolkit 的版本有所不同。在升级之前,建议备份你的工作,以防万一出现任何问题。此外,如果你使用的是特定的开发环境,如 CLion 或其他 JetBrains IDE,它们可能有自己的方法来集成和升级 cuda-gdb
,你可以查看相应 IDE 的文档以获取更详细的指导。