24

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

4

5 回答 5

22

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

这给了我 4GB 的空间来安装 CUDA 和我需要的一切。

有一个可启动的 USB 记忆棒非常有用。我推荐阅读这个

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

于 2010-09-23T20:18:22.300 回答
20

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

可以真正访问硬件,但前提是您拥有正确的软件和硬件组合,有关详细信息,请参阅SLI 多操作系统站点

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

  1. 不切实际:改为安装 Linux
  2. 不切实际:同时安装 Linux(不是一个选项)
  3. 启动到 Live CD,您可以使用 CUDA 准备磁盘映像并每次都挂载该映像
  4. 使用 Linux 设置(或请求/借用)一个单独的盒子并远程访问它
于 2010-02-15T17:45:04.003 回答
10

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

我没有尝试过 gVirtuS,但听起来它可能会做你想做的事。

于 2010-09-22T00:01:26.087 回答
2

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

于 2010-08-05T11:49:48.907 回答
2

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

于 2012-08-14T12:08:09.060 回答