NVML API 参考指南 (PDF) - vR570 (较旧版本) - 上次更新时间:2025 年 1 月 29 日 - 发送反馈

2. 已知问题

以下是当前驱动程序中已知的 NVML 问题列表

  • 在某些 GPU 驱动程序版本(如 535)中,NVML API nvmlDeviceGetBAR1MemoryInfo 在 BAR1 被禁用的机器(如 Grace+Hopper)上返回 0 作为总 BAR1 大小,而不是返回适当的错误代码,如 NVML_ERROR_NOT_SUPPORTED。在驱动程序版本 550 及更高版本中,此 API 在此类系统上返回 NVML_ERROR_NOT_SUPPORTED
  • 在 GPU 为 NUMA 节点的系统上,NVML 提供的 FB 内存利用率的准确性取决于操作系统的内存记账。这是因为 FB 内存由操作系统而不是 NVIDIA GPU 驱动程序管理。通常,即使进程终止后,从 FB 内存分配的页面也不会释放,以提高性能。在操作系统内存压力大的情况下,可能会求助于使用 FB 内存。此类操作可能会导致内存报告的准确性出现差异。

  • 在 Linux 上,当存在待处理的 GPU 操作模式 (GOM) 更改时,无法触发 GPU 重置。
  • 在 Linux 上,GPU 重置可能无法成功更改待处理的 ECC 模式。可能需要完全重启才能启用模式更改。
  • nvmlAccountingStats 每次每个 GPU 仅支持一个进程(CUDA 代理服务器算作一个进程)。
  • nvmlAccountingStats_t.time 报告从 cuInit 到进程终止的时间和利用率值。未来的驱动程序版本可能会略微更改此行为,并且仅从 cuCtxCreatecuCtxDestroy 计算进程。
  • 在 Fermi 系列的 GPU 上,当前的 P0 时钟(由 nvmlDeviceGetClockInfo 报告)可能与最大时钟相差几个 MHz。

NVML API 参考指南 (PDF) - vR570 (较旧版本) - 上次更新时间:2025 年 1 月 29 日 - 发送反馈