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 workstation “连接到服务器” 看不到远程服务器上的VMware虚拟机