【问题标题】:how does nvidia-smi work?nvidia-smi 是如何工作的?
【发布时间】:2013-02-16 03:40:44
【问题描述】:

允许 nvidia-smi 获取硬件级别详细信息的内部操作是什么?即使某些进程已经在 GPU 设备上运行,该工具也会执行,并获取进程的利用率详细信息、名称和 ID 等。是否可以在用户级别开发这样的工具? NVML 有什么关系?

【问题讨论】:

    标签: cuda gpgpu nvidia gpu


    【解决方案1】:

    Nvidia-smi 是NVML 的薄包装。您可以借助 Tesla Deployment Kit 中包含的 SDK 使用 NVML 进行编码。

    所有可以用 nvidia-smi 完成的事情都可以直接从 C 库 NVML 中查询。如果您需要在某种应用程序中查询这些数据,最好(并且可能更容易)针对 NVML 编写而不是解析 nvidia-smi stdout(过去的格式已更改)。

    还有用于 NVML 库的 pythonperl 绑定。所以你可以使用比 C 更高级的编程语言。

    【讨论】:

    • 所以不能查询任何东西,不是通过 NVML 使用 nvidia-smi 提供的吗? NVML 不提供对 SM 级别详细信息的任何访问。所以我正在考虑以其他方式与司机沟通。是否可以使用 nvidia-smi 或其他工具?
    • NVIDIA 提供的库更多。 NVML 用于管理高级别的 GPU(例如,系统管理员的工具)。看来您对分析更感兴趣。看看docs.nvidia.com/cuda/cupti/index.html比。
    • 命令行分析、nvprof 和视觉分析器使用相同的 CUPTI 吗?有了这些,我可以在执行结束时获得分析结果。它们特定于应用程序。可以通过在源代码中添加 CUPTI API(如带有线程的 events_sampling 示例)或在执行期间将 nvvp 或 nvprof 命令与可执行文件相关联来完成应用程序的分析。
    • [继续..] 这意味着 CUPTI 用于应用程序分析。我想要一些像 nvidia-smi 这样的工具,它只给出设备的状态。 CUPTI 提供了用于 active_cycles、active_warps 等的 API,但它们可以在应用程序之外用于检查 SM 的瞬时状态吗?我是初学者,如果我在某个地方错了,请见谅。
    • 我没用过CUPTI。最简单的方法是尝试一下。 AFAIK nvprof 在下面使用 CUPTI,因此这些实用程序的功能很好地代表了 CUPTI API 中的可用功能。
    猜你喜欢
    • 2020-11-29
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2022-07-04
    • 2021-10-02
    • 2017-04-17
    相关资源
    最近更新 更多