首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于graphcore ipu的Linux /dev/ipu*设备名称的含义和用途是什么?

用于graphcore ipu的Linux /dev/ipu*设备名称的含义和用途是什么?
EN

Stack Overflow用户
提问于 2021-01-28 14:47:17
回答 2查看 153关注 0票数 2

为什么在docker中指定ipu4ipu4_ex都使用ipu设备,如下面的命令所示?

代码语言:javascript
复制
docker run --device=/dev/**ipu4**:/dev/ipu4 --device=/dev/**ipu4_ex**:/dev/ipu4_ex -ti graphcore/tools gc-inventory
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-28 22:44:02

启动需要访问Graphcore IPU的docker镜像的建议方法是使用gc-docker命令行工具,您可以阅读有关here的更多信息。此命令行工具在Poplar SDK中可用,它包装了系统安装的docker命令行,因此您无需担心像上面所示那样手动传入设备。

对于感兴趣的用户,您可以通过使用--echo arg来查看gc-docker在幕后调用的内容,在这里您将看到与您发布的内容类似的内容:

代码语言:javascript
复制
docker run --device=/dev/ipu0:/dev/ipu0 --device=/dev/ipu0_ex:/dev/ipu0_ex --device=/dev/ipu0_mailbox:/dev/ipu0_mailbox --device=/dev/ipu0_mem:/dev/ipu0_mem -ti graphcore/tools gc-inventory

下面是相应的gc-docker调用:

代码语言:javascript
复制
gc-docker --device-id 0 -- -ti graphcore/tools gc-inventory

如您所见,每个IPU设备都有4个关联的用户空间PCIe设备。这是因为每个Graphcore IPU设备都有4个不同的内存区域(如果您使用lspci -v列出Graphcore PCI设备,就可以看到这一点)。每个内存区域对应于设备的不同功能部分(您可以阅读有关为什么设备可能希望在this Stack Exchange post中有多个不同的内存区域的更多信息)。这些内存区域是IPU配置空间、IPU交换空间、ICU邮箱和主机交换存储设备。

Graphcore驱动程序将IPU PCIe设备内存区域桥接到您在docker命令中看到的4个用户空间字符设备。这种内存区域到用户空间的映射是应用程序访问它们所必需的。如果这些设备中的任何一个不能从使用IPU的docker容器访问,那么您将遇到issues...hence,为什么使用gc-docker工具比记住所有用户空间设备名称要容易得多!

票数 6
EN

Stack Overflow用户

发布于 2021-02-04 13:12:46

谢谢,祝你job..have愉快的一天..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65932242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档