在 Windows 系统上管理和使用 NVIDIA CUDA,主要涉及以下几个核心命令和工具:
🔧 1. nvidia-smi
(NVIDIA System Management Interface)
- 作用: 监控 GPU 设备状态、显存使用、温度、功耗、驱动版本、CUDA 版本等。
- 使用:
- 打开 命令提示符 (CMD) 或 PowerShell。
- 直接输入:
nvidia-smi
- 常用参数:
nvidia-smi -l
: 每隔 秒 刷新一次信息(例如nvidia-smi -l 2
每 2 秒刷新)。nvidia-smi -q
: 显示更详细的查询信息。nvidia-smi -i
: 指定查询哪个 GPU 设备(例如nvidia-smi -i 0
)。nvidia-smi --help
: 查看所有可用参数。
- 关键信息: 输出顶部的
CUDA Version
指的是该 GPU 驱动支持的最高 CUDA 运行时版本,不是你安装的 CUDA Toolkit 版本。
🛠️ 2. nvcc
(NVIDIA CUDA Compiler)
- 作用: 编译 CUDA 源代码(
.cu
文件)为可执行程序或对象文件。 - 检查版本 (最常用):
- 打开 命令提示符 (CMD) 或 PowerShell。
- 输入:
nvcc --version
或nvcc -V
- 输出示例:
nvcc: NVIDIA (R) Cuda compiler driver; Copyright (c) 2005-2023 NVIDIA Corporation; Built on ... ; Cuda compilation tools, release 12.2, V12.2.128 ...
- 关键信息:
release 12.2
表示你当前 安装并使用的 CUDA Toolkit 版本是 12.2。这是你实际开发使用的 CUDA 版本。
- 编译 CUDA 程序:
nvcc -o my_cuda_program.exe my_cuda_program.cu
-o
: 指定输出文件名(my_cuda_program.exe
)。my_cuda_program.cu
: 你的 CUDA 源代码文件。
📌 重要提示:环境变量 (PATH)
- 要使
nvcc
和deviceQuery.exe
等命令在任意目录的命令行中直接可用,必须将 CUDA Toolkit 的bin
目录添加到系统的PATH
环境变量中。 - 默认安装路径下的
bin
目录通常是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin
其中vX.Y
是你安装的具体 CUDA Toolkit 版本(如v12.2
)。 - 检查 PATH:
- 在开始菜单搜索 "编辑系统环境变量" -> "环境变量"。
- 在 "系统变量" 中找到
Path
变量,编辑它。 - 确认包含类似
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\bin
的条目。如果没有,需要手动添加。
🔍 3. deviceQuery
(CUDA 样例程序)
- 作用: 更详细地查询系统中支持 CUDA 的设备信息,验证 CUDA 安装是否成功并能识别 GPU。
- 使用:
- 需要先编译或找到预编译好的
deviceQuery.exe
。 - 预编译位置 (常见):
C:\ProgramData\NVIDIA Corporation\CUDA Samples\vX.Y\bin\win64\Release\deviceQuery.exe
或C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\extras\demo_suite\deviceQuery.exe
其中vX.Y
是你的 CUDA Toolkit 版本。ProgramData
通常是隐藏文件夹。 - 打开 命令提示符 (CMD) 或 PowerShell,导航到包含
deviceQuery.exe
的目录。 - 输入:
deviceQuery.exe
- 需要先编译或找到预编译好的
- 关键输出: 如果看到类似
Result = PASS
的输出,并且列出了你的 GPU 详细信息(名称、计算能力、全局内存等),说明 CUDA 安装和识别 GPU 成功✅。
🧪 验证 CUDA 安装是否成功
- 运行
nvidia-smi
: 确认能看到 GPU 信息和驱动支持的最高 CUDA 版本。 - 运行
nvcc --version
: 确认能看到你安装的 CUDA Toolkit 版本。 - 运行
deviceQuery.exe
: 确认能看到 GPU 详细信息并显示Result = PASS
。
📂 其他相关工具和位置
- Nsight Systems (
nsys
): 系统级性能分析工具。命令通常也在 CUDA Toolkit 的bin
目录下 (nsys.exe
)。 - Nsight Compute (
ncu
): 内核级性能分析工具。命令也在bin
目录下 (ncu.exe
)。 - CUDA Visual Profiler (
nvvp
): 较旧的图形化分析工具(逐渐被 Nsight 工具取代)。通常有桌面快捷方式或在开始菜单中。 - CUDA 安装目录 (
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y
): 包含include
(头文件),lib
(库文件),doc
(文档),extras
(额外工具/样例) 等重要子目录。
❓ 常见问题
'nvidia-smi' 不是内部或外部命令...
nvidia-smi
位于 NVIDIA 显卡驱动的安装目录(通常是C:\Windows\System32
或C:\Windows\SysWOW64
)。如果遇到此错误,说明你的显卡驱动安装可能有问题,或者该目录不在PATH
中。重装显卡驱动通常能解决。'nvcc' 不是内部或外部命令...
或'deviceQuery' 不是内部或外部命令...
- 这是最常见的问题!原因是包含这些可执行文件的目录(主要是 CUDA Toolkit 的
bin
目录)没有添加到系统的PATH
环境变量中。请按照上面的 "重要提示:环境变量 (PATH)" 部分检查和设置。 nvidia-smi
显示的 CUDA 版本与nvcc --version
显示的版本不同- 这是正常的!
nvidia-smi
显示的是驱动支持的最高 CUDA 运行时版本。nvcc --version
显示的是你实际安装的 CUDA Toolkit 开发环境版本。只要你的 Toolkit 版本小于或等于nvidia-smi
报告的版本,通常就能正常工作。例如,nvidia-smi
显示12.2
,nvcc
显示12.1
或11.8
都是兼容的;但如果nvcc
显示12.3
而nvidia-smi
只支持到12.2
,就可能需要更新显卡驱动。
希望这些命令详解能帮你顺利管理 CUDA 环境!如果遇到具体问题(如编译错误、版本冲突),欢迎提供详细信息,我会尽力帮你解决。😊