虚拟机 安装 CUDA 可行性分析操作

虚拟机 安装 CUDA 可行性说明

2016年07月26日 20:52:06 麦兜ppig 阅读数:4387

原文地址:http://blog.csdn.net/nothinglefttosay/article/details/45095125

在编写 CUDA 程序时遇到这么一个问题

由于服务器端的 linux 运行环境,而本机是 win8 ,对在本机上通过 SSH 客户端或者通过 VS 编写 CUDA 程序再上传倒到服务器上调试运行的方式始终不适应,又不想装双系统,因此想通过虚拟机来安装 linux 操作系统然后在虚拟机上来调试 CUDA 程序。

这中间就存在可行性的问题:

虚拟机是模拟一个图形设备,这样的话你没有机会接触到真正的 GPU 。这是由于当有多个虚拟机访问同一个设备时虚拟机处理的方式决定的,虚拟机在其中提供了一个中间层来共享真正的硬件设备。

本机显卡 GTX 850M ,在 virtualbox 4.3.26 上运行虚拟机 CentOS6.5 输入查询:

这里我主机显卡是NVIDIA GeForce GTX 960,用VMware Workstation 12.2 pro 运行Ubuntu 14.04,一样的效果

 

[html] view plain copy

  1. $ lspci | grep -i nvidia  

 

 

 

没有返回任何结果,可以看到没有 nvidia 显卡,反而如果将 nvidia 替换为 virtual 却可以看到 virtualbox 提供的虚拟的图形设备:

查看硬件信息可以参考博文:Linux 查看系统硬件信息

也可以使用命令glxinfo行:

该命令可参见博文:glxinfo

也可以看到:

OpenGL renderer string: Software Rasterizer
This means that software rendering is used, but all software rendering is done in the client application, so that the X server is free to service requests from other applications.

As you can see, all four combinations of direct/indirect software/hardware rendering are possible. In terms of performance, direct hardware rendering is fastest, followed by (with a noticeable, but not completely horrible performance penalty) indirect hardware rendering. Software rendering is always pretty slow.

还有相关链接:Cuda on a virtual machine

至此,结论是,虚拟机中不能调用物理显卡进行 CUDA 编程。

 

然而事实没有这么简单,后来发现有人声称在虚拟机中调用到了独显:

cuda program on VMware

贴中,贴主声称自己在 VM 上已经实现了 CUDA 编程,只是担心效率问题。

得票最高的答案中提到:仅当你使用正确的硬件和软件配合的话,才有可能从虚拟机上接触到硬件。

其他相关帖子中也提到同样的问题:

思路广,EXSi 5.x服务器插了一块专业卡,能不能让其中一个虚拟机用上?

Can you Program/Test CUDA in a Virtual Machine?

虚拟机中跑 CUDA 取决于你的硬件,软件环境:
CPU,主板,板卡本身。

1. 其中提到了硬件 CPU 支持 VT-d,注意这里与一般的虚拟化技术 VT 不一样:

2. CPU 支持外,还需要主板支持 VT-d:

The following Intel® Desktop Boards support Intel VT with Directed I/O:
Chipset Desktop Board
X79 DX79SI, DX79SR, DX79TO
H77, Q77, Z77 DH77DF, DH77EB, DH77KC, DQ77CP, DQ77KB, DQ77MK, DZ77BH-55K, DZ77GA-70K, DZ77RE-75K, DZ77SL-50K
B75, Z75 DB75EN, DZ75ML-45K
Q67 DQ67EP, DQ67OW, DQ67SW
H61 DH61AGL
Q57 DQ57TM, DQ57TML
Q45 DQ45CB, DQ45EK
Q35 DQ35JO, DQ35MP

3. 软件环境:VMware DirectPath I/O

GPGPU Computing in a VM

普通的VMWare不行,必须VMware ESXi

其中提到对 nvidia 显卡的要求:

4. (2) Requires a “direct passthrough” capable GPGPU

- Most NVIDIA Quadro cards are passthrough capable

- Recent AMD cards are also passthrough capable

看来一般的 GTX 显卡是不行的,AMD 就忽略吧。。

这个帖子中也提到了上面的这些方面。

 

有些人提到可能的解决方法:

1. 通过跑 linux liveCD 来实现,应该是可行的。

2. something called gVirtuS

3. An NVIDIA Multi-OS workstation

An NVIDIA Multi-OS workstation, with dual Quadro GPUs and virtualization software, lets a user assign a dedicated Quadro GPU to both the host operating system and a range of optionally loaded guest operating systems, thus creating a fully virtualized workstation*.

 

总结:虚拟机中运行 CUDA 需要硬件和软件的配合才能使用,对于一般使用者可能暂时不太可能的。

其他相关链接:

Virtual Machine and CUDA Questions???

基于虚拟机的GPU计算资源管理系统

Using CUDA with VirtualBox

CUDA and NVIDIA emulation

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以按照以下步骤在VMware 16中安装Linux虚拟机: 1. 首先,您需要下载并安装VMware 16软件。您可以从VMware官方网站下载软件安装包\[2\]。 2. 下载CentOS 7的映像文件。您可以从CentOS官方镜像站点下载\[2\]。 3. 安装VMware 16后,打开软件并点击"创建新的虚拟机"。 4. 在虚拟机创建向导中,选择"典型(推荐)"配置类型。 5. 选择"安装客户机操作系统",然后在操作系统列表中选择Linux,并选择CentOS 7的版本。 6. 选择虚拟机存放位置,建议创建一个新的文件夹专门用于存放虚拟机文件。 7. 设置磁盘容量,默认设置即可。 8. 完成虚拟机创建后,进入虚拟机设置。在"设备"选项卡中,选择DVD驱动器,并选择ISO映像文件。您可以从CentOS官方网站下载CentOS的ISO镜像文件。 9. 开启虚拟机,准备安装Linux操作系统。选择第一个选项以开始安装过程。 10. 在安装过程中,如果扫描到磁盘,请选择忽略。 11. 根据您的偏好选择语言和键盘布局。 12. 完成安装后,您可以开始使用Linux虚拟机进行学习和实践。 请注意,以上步骤仅适用于VMware 16和CentOS 7。如果您使用其他版本的软件或操作系统,请参考相应的文档或指南进行操作。 #### 引用[.reference_title] - *1* *2* [VMware16的安装VMware配置Linux虚拟机(详解版)](https://blog.csdn.net/m0_50519965/article/details/116175873)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [VMWare安装Linux系统(详细版)](https://blog.csdn.net/chen7588693/article/details/83349695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值