当前位置: 首页 > 知识库问答 >
问题:

如何在docker镜像中运行不同主机内核和GPU驱动程序版本的GPGPU

羿易安
2023-03-14

我有几个GPU机器。我的想法是将它们附加到不同的docker实例,以便在CUDA(或OpenCL)计算中使用该实例。

我的目标是用相当老的Ubuntu和相当老的AMD视频驱动程序(13.04)来设置docker映像。原因很简单:升级到较新版本的驱动程序会破坏我的OpenCL程序(由于有错误的AMD linux驱动程序)。

所以问题随之而来。是否可以使用旧的Ubuntu、旧的内核(例如3.14)和旧的AMD(fglrx)驱动程序在存储库中使用新的内核4.2和更新的AMD(fglrx)驱动程序的Arch Linux安装程序上运行docker映像?

附注。我试过这个答案(用Nvidia卡),但不幸的是,docker映像内部的devicequery看不到任何CUDA设备(就像原始答案的一些评论者所发生的那样)...

P.P.S.我的设置:

 $ lspci -nn | grep Rad
   83:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] [1002:6798]
   83:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT HDMI Audio [Radeon HD 7970 Series] [1002:aaa0]

2个GeForce GTX Titan Black

共有1个答案

彭浩穰
2023-03-14

使用docker,您可以依赖于操作系统级别的虚拟化。这意味着在所有容器中使用相同的内核。如果您希望为每个容器运行不同的内核,那么您可能必须使用系统级虚拟化,例如KVM、VirtualBox。如果您的设置支持Intel的VT-d,您可以将GPU作为PCIe设备传递给容器(在这种情况下更好的术语是,虚拟机)。

 类似资料:
  • docker如何在Debian主机上运行,或者在容器中运行OpenSUSE?它使用不同的内核,具有不同的模块。另外,老版本的Debian使用了老版本的内核,那么如何在3.10+版本的内核上运行它呢?旧的内核只有旧的内置功能,旧的发行版如何管理新的功能?这里面有什么“诀窍”?

  • 问题内容: 假设我为使用版本10内核的OS制作了一个映像,如果我在运行版本9内核的主机OS上为该映像运行一个容器,那么Doc​​ker会表现出什么行为?那版本11呢? 版本的向后兼容性重要吗?我出于好奇而问,因为文档仅讨论“最低Linux内核版本”等。这听起来像主机运行的内核版本超出该最低值无关紧要。这是真的?有警告吗? 问题答案: 假设我为使用版本10内核的操作系统制作映像。 我认为这是一个误解

  • 我对Openshift Origin非常陌生。我现在正在尝试在OpenShift origin中部署docker容器的可能性。为此,我创建了一个非常简单的docker容器,它将两个数字相加并产生结果: https://github.com/abrahamjaison01/openshifttest 我在本地创建了一个docker映像,在docker hub中创建了一个公共docker映像: 我在本

  • 问题内容: 如何配置Windows命令对话框以在其中运行不同的python版本?例如,当我键入时,它运行python 2.7,而当我键入时,它运行python 3.3?我知道如何为一个版本而不是两个版本配置环境变量?我的意思是类似Linux终端的东西。 问题答案: Python的3.3主要介绍Python启动的Windows是安装到作为和安装程序。安装程序还会创建与和的关联。然后添加或作为第一行。

  • 问题内容: 我正在用Java编写多线程应用程序,以提高顺序版本的性能。它是针对0/1背包问题的动态编程解决方案的并行版本。我有一个Intel Core 2 Duo,在不同的分区上都具有Ubuntu和Windows 7 Professional。我在Ubuntu中运行。 我的问题是并行版本实际上比顺序版本花费的时间更长。我认为这可能是因为所有线程都被映射到同一个内核线程,或者它们被分配给了同一个内核

  • 问题内容: 我试图让一个docker容器运行来管理我的cronjobs 我使用centOS 6.5 base在docker容器中运行了一个非常简单的cron作为测试 如果容器在CoreOS主机上运行,​​则可以正常工作;但是,如果我在ubuntu 13.10主机上运行容器,则不会执行cron。(尽管主机没有影响容器中正在运行的内容) 两台主机都在运行docker 0.8 我是否缺少明显的东西,或者