我可以在MacBook Pro上使用Docker容器中的GPU吗? (AMD Radeon GPU)

时间:2017-09-22 14:48:20

标签: macos docker gpu macos-sierra

我想在我的MacBook Pro上的docker容器中运行支持GPU的应用程序(Gazebo)。

通过我的研究,在我看来,大约一年前,Docker为MacOS发布了一个原生的Docker应用程序。

在此之前,Docker曾经生成整个Linux VM并在其上运行容器。

现在,它显然使用了一些原生虚拟机管理程序框架,使其更加优化并更接近硬件,完全改变了Docker在Mac上的容器化方法。

这一切对我来说都不是很清楚,我不确定我所说的一切。

现在是否可以从docker容器中使用我的macbook pro的GPU,如果可以,怎么样?

我现在正在使用的命令行,适用于常规X11应用程序但不支持像Gazebo这样的支持GPU的应用程序:

xhost +
docker run -it -e DISPLAY=$ip:0 -v /tmp/.X11-unix:/tmp/.X11-unix image_name bash

1 个答案:

答案 0 :(得分:9)

还有一台虚拟机。

Docker for Mac使用名为XHyve的虚拟化层。它比VirtualBox等更薄更轻巧(模拟更少的外围设备),但它仍然是虚拟化。

PCI passthrough(理论上)是可能的,但您无法通过笔记本电脑的主GPU并仍然使用它。

带有IOMMU的硬件(是的,您的MacBook Pro具有支持的英特尔芯片组)可以允许虚拟化环境直接访问PCI硬件。

但是,您无法将某个硬件控制权交给VM,仍然可以使用该主机的硬件。 (一些高端服务器网卡通过多个PCI端点来解决这个问题,因此主机和每个客户端都有不同的端点可以通话)。

所以 - 你可以得到一个外接的Thunderbolt附加GPU,它可能会起作用...... 将来

The underlying support in Xhyve还没有(截至2017年中期的写作),甚至在KVM上(很多人都在这里开展工作),只有有限的成功报告(使用特定的视频卡--Radeon HD 5850。