- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对运行 which nvcc
显示的不同 CUDA 版本感到非常困惑和 nvidia-smi
.
我的 ubuntu 16.04 上同时安装了 cuda9.2 和 cuda10。现在我将 PATH 设置为指向 cuda9.2。所以当我运行时:
$ which nvcc
/usr/local/cuda-9.2/bin/nvcc
$ nvidia-smi
Wed Nov 21 19:41:32 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.72 Driver Version: 410.72 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... Off | 00000000:01:00.0 Off | N/A |
| N/A 53C P0 26W / N/A | 379MiB / 6078MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1324 G /usr/lib/xorg/Xorg 225MiB |
| 0 2844 G compiz 146MiB |
| 0 15550 G /usr/lib/firefox/firefox 1MiB |
| 0 19992 G /usr/lib/firefox/firefox 1MiB |
| 0 23605 G /usr/lib/firefox/firefox 1MiB |
which nvcc
建议,或者我使用 cuda10 作为
nvidia-smi
建议?
最佳答案
CUDA 有 2 个主要 API,运行时 API 和驱动程序 API。两者都有对应的版本(例如 8.0、9.0 等)
对驱动程序 API 的必要支持(例如 linux 上的 libcuda.so)由 GPU 驱动程序安装程序安装。
对运行时 API 的必要支持(例如,Linux 上的 libcudart.so 以及 nvcc
)由 CUDA 工具包安装程序(其中可能还捆绑了 GPU 驱动程序安装程序)安装。
在任何情况下,(已安装的)驱动程序 API 版本可能并不总是与(已安装的)运行时 API 版本匹配,尤其是当您独立于安装 CUDA(即 CUDA 工具包)安装 GPU 驱动程序时。nvidia-smi
工具由 GPU 驱动程序安装程序安装,并且通常具有 GPU 驱动程序,而不是 CUDA 工具包安装程序安装的任何内容。
最近(Linux 上的驱动程序版本介于 410.48 和 410.73 之间)NVIDIA 的权力决定在 nvidia-smi
的输出中添加驱动程序安装的 CUDA 驱动程序 API 版本的报告。 .
这与已安装的 CUDA 运行时版本无关。nvcc
,与 CUDA 工具包一起安装的 CUDA 编译器驱动程序工具,将始终报告其构建以识别的 CUDA 运行时版本。它不知道安装了什么驱动程序版本,甚至不知道是否安装了 GPU 驱动程序。
因此,根据设计,这两个数字不一定匹配,因为它们反射(reflect)了两个不同的事物。
如果您想知道为什么 nvcc -V
显示您不期望的 CUDA 版本(例如,它显示的版本不是您认为已安装的版本)或根本不显示任何内容,版本明智,这可能是因为您没有遵循 中的强制性说明cuda linux install guide 的第 7 步(在 CUDA 11 之前)(或 CUDA 11 linux 安装指南中的第 6 步)
请注意,尽管此问题主要针对 linux,但相同的概念也适用于 window CUDA 安装。该驱动程序具有与其关联的 CUDA 驱动程序版本(例如,可以使用 nvidia-smi
进行查询)。 CUDA 运行时还有一个与之关联的 CUDA 运行时版本。两者不一定在所有情况下都匹配。
大多数情况下,如果 nvidia-smi
报告的 CUDA 版本在数值上等于或高于 nvcc -V
报告的版本,这不是一个值得关注的问题。这是 CUDA 中定义的兼容性路径(较新的驱动程序/驱动程序 API 支持“较旧的”CUDA 工具包/运行时 API)。例如,如果 nvidia-smi
报告 CUDA 10.2 和 nvcc -V
报告 CUDA 10.1,这通常不会引起关注。它应该可以正常工作,并不一定意味着您“在打算安装 CUDA 10.1 时实际上安装了 CUDA 10.2”
如 nvcc
命令根本不报告任何内容(例如 Command 'nvcc' not found...
),或者如果报告意外的 CUDA 版本,这也可能是由于 CUDA 安装不正确,即上述强制性步骤未正确执行。您可以通过使用像 find
这样的 linux 实用程序来解决这个问题。或 locate
(请使用手册页了解如何)找到您的 nvcc
可执行。假设只有一个,然后可以使用它的路径来修复您的 PATH 环境变量。 CUDA linux install guide还解释了如何设置。您可能需要调整 PATH 变量中的 CUDA 版本以匹配您想要/安装的实际 CUDA 版本。
同样,当使用 docker 时,nvidia-smi
命令一般会报告基础机器上安装的驱动程序版本,而其他版本方法如 nvcc --version
将报告安装在 docker 容器内的 CUDA 版本。
同样的,如果你使用过其他的CUDA“工具包”安装方式,比如Anaconda,你可能会发现Anaconda指示的版本与nvidia-smi
指示的版本不“匹配”。 .然而,上述意见仍然适用。 Anaconda 安装的较旧 CUDA 工具包可以与 nvidia-smi
报告的较新版本一起使用,以及 nvidia-smi
的事实报告比 Anaconda 安装的版本更新/更高的 CUDA 版本并不意味着您有安装问题。
关于cuda - nvcc 和 NVIDIA-smi 显示的不同 CUDA 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53422407/
我得到nvidia-smi得到Memory-Usage是这样的 $nvidia-smi -i 0,1 Wed Mar 4 16:20:07 2020 +-----------------
我得到nvidia-smi得到Memory-Usage是这样的 $nvidia-smi -i 0,1 Wed Mar 4 16:20:07 2020 +-----------------
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
允许 nvidia-smi 获取硬件级别详细信息的内部操作是什么?即使某些进程已经在 GPU 设备上运行,该工具也会执行并获取进程的使用详细信息、名称和 ID 等。是否可以在用户级别开发这样的工具?
允许 nvidia-smi 获取硬件级别详细信息的内部操作是什么?即使某些进程已经在 GPU 设备上运行,该工具也会执行并获取进程的使用详细信息、名称和 ID 等。是否可以在用户级别开发这样的工具?
例如,当我使用 nvidia-smi -l 60 时,我问自己是否: 给出的信息是每 60 秒使用一次时的快照 给出的信息是时间与+/- 60 秒之间的平均值 你知道答案吗?我还没找到。 谢谢。 最佳
我正在使用 Nvidia GTX Titan X 做深度学习实验。 我正在使用 nvidia-smi 来监控 GPU 运行状态,但是该工具提供的 perf(ormance) 状态没有意义。 我查看了
我想将有关机器可用 GPU 和状态的系统信息放入系统中以进行实时监控。我使用 XML 输出 GPU 信息 $ nvidia-smi -x -q 此命令将打印输出当前 GPU 状态(如使用情况、温度等)
我使用 export CUDA_VISIBLE_DEVICES=1 在 GPU id 1 上运行 tensorflow,nvidia-smi 中的一切看起来都不错,我的 python 进程在 gpu
我正在学习英特尔架构。到目前为止,我遇到了几种类型的中断: SCI:系统控制中断,硬件用来通知操作系统 ACPI 事件的系统中断。 SCI 是一个事件的、低的、可共享的电平中断。 SMI:系统管理中断
我在 GPU 中运行 tensorflow 代码。 下图显示了 nvidia-smi 信息:: 我想问一下 nvidia-smi 输出中的“关闭”是什么意思? 还有“C”类型在这里是什么意思?? 在这
从Windows 10 1809开始,OS会生成大量的软件SMI。 我们在单独的处理器内核上运行我们的实时应用程序,每个 SMI 都会产生不可预测的延迟。在 1809 年之前,始终可以在 BIOS 中
nvidia-smi在 Windows 的命令提示符 (CMD) 中执行会返回以下错误 C:\Users>nvidia-smi 'nvidia-smi' is not recognized as an
我目前正在使用 nvidia 驱动程序“nvidia-smi”附带的工具来监控 GPU 性能。当我们使用'nvidia-smi -a'时,它会给出当前GPU信息,包括GPU核心和内存使用情况,温度等,
我知道 nvidia-smi -l 1 会每秒给出 GPU 使用情况(类似于以下内容)。不过,我希望能解释一下 Volatile GPU-Util 的真正含义。是使用的 SM 数量除以 SM 总数,还
RFC 2578“管理信息结构版本 2 (SMIv2)”包含类型 TimeTicks,定义为 IMPLICIT INTEGER (0..4294967295) 并描述为“表示时间的非负整数,以 2^3
当我运行命令 nvidia-smi ,我得到以下两个按总线 ID 排序的 GPU: For GPU 0, 00000000:0A:00.0 For GPU 1, 00000000:41:00.0 但是
为了在系统上利用 GPU,我希望能够绘制框图并理解“nvidia-smi topo -m”输出表示的连接。 这是一个示例输出: 有人可以提供一个系统级框图吗?连接的描述也会很棒。我相信这会帮助很多人利
这是我的 nvidia-smi 的输出命令,我想解析它的输出并杀死在 GPU 上运行的所有 python 进程。我已经知道如何使用我编写的以下脚本杀死所有 python 进程。 kall () {
已关闭。这个问题是 not about programming or software development 。目前不接受答案。 这个问题似乎不是关于 a specific programming
我是一名优秀的程序员,十分优秀!