虚拟机 安装 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

虚拟机 安装 CUDA 可行性分析操作相关推荐

  1. 解决PD17虚拟机安装时出现 “操作失败 执行该操作失败”的方法

    Parallels Desktop 17无限试用版在安装win11过程中可能会提示"操作失败 执行该操作失败",英文版本中会提示"Operation FAIled. FA ...

  2. 虚拟机 安装 CUDA 可行性说明

    原文地址:http://blog.csdn.net/nothinglefttosay/article/details/45095125 在编写 CUDA 程序时遇到这么一个问题 由于服务器端的 lin ...

  3. 【Linux】安装CUDA和cudnn

    安装CUDA和cudnn cuda 驱动检查 驱动下载 1.下载驱动文件 2.准备工作 3.安装NVIDIA驱动程序 gcc降级 cuda安装包下载 安装操作 gcc降级 安装cuda **nvidi ...

  4. WSL2 安装 CUDA(Win11)

    WSL2 安装 CUDA(Win11) 1.安装WSL的CUDA驱动 驱动下载地址:https://developer.nvidia.com/cuda/wsl 选好你自己的显卡类型 下载完成后直接默认 ...

  5. hp服务器下的虚拟机安装系统安装,hp 服务器安装linux系统安装

    hp 服务器安装linux系统安装 内容精选 换一换 该任务以"CentOS 7 64位"操作系统为例,指导用户安装Linux操作系统.由于镜像文件不同,安装步骤稍有不同,请根据实 ...

  6. 【详细】Ubuntu18.04安装更新显卡驱动、安装CUDA及cuDNN、CUDA版本切换

    CUDA安装官方教程:官方教程 cuDNN安装官方教程:官方教程 在配置Pytorch环境的时候,想着尝试一下新版本的pytorch版本Stable(1.10.1)时,发现这个pytorch版本仅支持 ...

  7. Jetson tk1 安装 CUDA,ROS,OpenCV和kinect2以及刷机以及ssh远程控制

    我的jetson tk1的系统是:LTR21.3,ubuntu14.04.本文仅仅是个人总结,亲测成功. 注意:如果你是使用校园网进行安装的话,有很多源是没办法访问的,安装的时候就会出现很多问题,所以 ...

  8. 第一课.Linux系统的介绍与ubuntu虚拟机安装

    Linux系统介绍 Linux系统是一个类Unix系统(Unix系统的克隆),Unix是有版权限制的,Linux由Linus Torvalds编写,向POSIX兼容(POSIX为可移植操作系统接口标准 ...

  9. GTX1080 安装 CUDA 7.5

    GTX1080安装时CUDA开发包与驱动需要分开安装,分别下载开发包和驱动文件,采用.run方式安装. (一) Pre-install actions(安装前准备) 1. Verify You Hav ...

最新文章

  1. Android 按压效果的工具类
  2. 专题2 文件系统结构
  3. 路由 交换 网桥 相关转贴
  4. html判断是否在页面,html判断当前页面是否在iframe中的实例
  5. python如何不跳行打印_python怎么不换行打印
  6. 来前端君朋友圈,一起聊前端面试技巧
  7. 你误解了Windows的文件后缀名吗?
  8. 开创交互式电脑绘图先河,虚拟现实之父传奇
  9. 华为Mate10到底AI在哪?
  10. flask ajax 文件上传,使用ajax上传Python flask文件请求.files空的
  11. Linux中的ps命令
  12. 风险回避、减轻、转移、接受,汇率风险
  13. Eureka No active profile set, falling back to default profiles: default
  14. pyecharts世界地图用:国家中英文对照表
  15. 青龙脚本--联通领话费流量等
  16. 网站的服务器什么意思,网站服务器站点是什么意思
  17. SAP mbew 标准价和移动平均价
  18. MATLAB创建音乐《光年之外》
  19. 《了不起的盖茨比》----走出绿灯困境
  20. python抽取某个时间段的数据_python 批量提取excel 指定时间段的数据

热门文章

  1. windows7如何安装mysql8_Windows7 安装配置mysql8.0
  2. pixi.js 制作 流星雨效果
  3. 【eclipse】mybatis配置文件创建与mapper接口文件创建
  4. ie中的html分页控制,IE中HTML打印时实现每页都有的表头和打印分页
  5. GridControl GridView 单元格内容换行
  6. 【Cmake】初识CMake(一)
  7. element 时间选择器 限制时分秒_关于elementUI里日期选择器禁用时间的一些小技巧...
  8. VC中调用cmd命令的四种方式
  9. 机器学习中的隐变量和隐变量模型
  10. 支付宝电脑网页支付接口的调用