2013-02-16 19 views
1

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

回答

4

Nvidia-smi是一个围绕NVML的薄包装。您可以使用包含在Tesla Deployment Kit中的SDK的帮助来使用NVML进行编码。

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

对于NVML库,还有pythonperl绑定。因此,您可以使用比C更高级的编程语言。

+0

因此,无法查询任何内容,而不是通过NVML使用nvidia-smi提供的内容? NVML不提供任何对SM级别细节的访问。所以我想用另一种方式与司机沟通。用nvidia-smi还是其他工具可以吗? – 2013-02-16 07:10:17

+0

NVIDIA提供了更多的库。 NVML用于高级别管理GPU(例如,用于系统管理员的工具)。看起来你对分析更感兴趣。看看http://docs.nvidia.com/cuda/cupti/index.html比。 – 2013-02-16 07:42:52

+0

命令行分析,nvprof和可视化分析器是否使用相同的CUPTI?有了这些,我可以在执行结束时获得分析结果。它们是特定于应用程序的。应用程序的分析可以通过在源代码中添加CUPTI API来完成(如带有线程的events_sampling示例中)或执行期间,nvvp或nvprof命令与可执行文件相关联。 – 2013-02-16 08:00:19