VMware 上的 cuda 程序

Posted

技术标签:

【中文标题】VMware 上的 cuda 程序【英文标题】:cuda program on VMware 【发布时间】:2011-01-16 16:25:56 【问题描述】:

我编写了一个 cuda 程序,并在 ubuntu 上将其作为虚拟机进行测试。这样做的原因是我有windows 7,我不想安装ubuntu作为辅助操作系统,我需要使用linux操作系统进行测试。 我的问题是:虚拟机会限制 GPU 资源吗?那么如果我在主操作系统下运行 cuda 代码会比在虚拟机上运行更快吗?

【问题讨论】:

我认为如果它在 VM 下能正常工作,你会很幸运。您可以在 Windows 7 上进行 CUDA 开发。如果由于某种原因这是一个问题,如果您使用开发而不是在生产环境中,为什么不使用仿真功能? 为什么不直接从 Ubuntu Live CD 启动以进行 Linux 测试? 如果我从 Live CD 启动 Ubuntu,我需要在每次重启时安装 cuda 工具包!! 我需要我的 cuda 算法的准确速度结果。它已经在 VM 下工作,但我不确定我是否正在使用完整的 gpu 资源(因为 VM)。 买一个 4gb 的 U 盘,安装 live ubuntu = $15 【参考方案1】:

我曾经遇到过类似的任务。我最终做的是在启用了持久模式的 8GB 拇指驱动器上安装 Ubuntu。

这给了我 4GB 空间来安装 CUDA 和我需要的所有其他东西。

随身携带一个可启动的 USB 记忆棒非常有用。我推荐阅读this。

另外,如果您正在寻找其他发行版,this link 有一些非常有趣的材料。

【讨论】:

【参考方案2】:

使用 rCUDA 将虚拟 GPU 添加到您的 VM。

【讨论】:

截至 2012 年 11 月 30 日,当前稳定版本 (v3.2) 以及新 rCUDA 4 Windows 和 Linux 发行版的 beta 版本不可互操作。此外,32 位和 64 位版本还不能互操作。这意味着在 Windows 主机上运行的 Linux VM 无法使用 rCUDA。 rCUDA 似乎不是开源的(该网站有软件申请表)并且似乎不支持所有的 linux,例如 arch linux。【参考方案3】:

我刚刚在 NVIDIA 的 GPU 技术大会上听到了一位名叫崔晓辉(橡树岭国家实验室)的研究员的演讲。除其他外,他描述了使用称为 gVirtuS 的东西从虚拟机访问 GPU。他没有创建 gVirtuS,但将其描述为开源“虚拟 cuda”驱动程序。请参阅以下链接: http://osl.uniparthenope.it/projects/gvirtus/

我没有尝试过 gVirtuS,但听起来它可以满足你的需求。

【讨论】:

【参考方案4】:

从 CUDA 3.1 开始,它的虚拟化功能并不生动,因此唯一可用的方法是直接在目标 HW+SW 上运行 CUDA 程序

【讨论】:

【参考方案5】:

不幸的是,虚拟机模拟图形设备,因此您无法访问真正的 GPU。这是因为虚拟化处理访问同一设备的多个 VM 的方式 - 它提供了一个中间层来共享真实设备。

可以真正访问硬件,但前提是您拥有正确的软件和硬件组合,有关详细信息,请参阅SLI Multi-OS site。

因此,您可能对虚拟化路线不走运 - 如果您真的无法在 Windows 中运行您的应用程序,那么您将受到以下限制:

    不切实际:改为安装 Linux 不切实际:同时安装 Linux(不是一个选项) 启动到live CD,你可以用CUDA准备一个磁盘镜像,每次都挂载这个镜像 使用 Linux 设置(或请求/借用)一个单独的机器并远程访问它

【讨论】:

以上是关于VMware 上的 cuda 程序的主要内容,如果未能解决你的问题,请参考以下文章

VMware上的macOS无法识别iOS设备

vmware workstation “连接到服务器” 看不到远程服务器上的VMware虚拟机

vmware esxi 有啥用

怎样让VMware上的虚拟机ping通外网(图解教程)

怎样设置 vmware 开放一个网络端口,使网络上的电脑能访问这个端口

VMware Ubuntu安装