精华内容
下载资源
问答
  • VMware GPU虚拟化简介

    千次阅读 2015-12-28 22:11:51
    GPU虚拟化主要针对在桌面虚拟化的一些研发和设计工作人员,这些人员需要进行大型...目前VMwareGPU虚拟化主要分为以下三种方式: vSGA:是指“Virtual Shared Graphics Acceleration”(虚拟共享图形加速)。vSGA ...

    GPU虚拟化主要针对在桌面虚拟化的一些研发和设计工作人员,这些人员需要进行大型的3D设计,从而使用普通的桌面虚拟化无法满足其主要的需求。所以必须采用在虚拟化平台增加GPU,通过GPU虚拟化的方式进行。

    目前VMware的GPU虚拟化主要分为以下三种方式:

      vSGA

    是指“Virtual Shared Graphics Acceleration”(虚拟共享图形加速)。vSGA 的功能是利用在 ESXi 主机中本机安装的物理 GPU(图形处理单元,也称为显卡)为众多虚拟桌面提供硬件加速 3D 图形。通过提供这种功能,可进一步扩展使用虚拟桌面能够提供的使用情形和目标用户。除了扩展目标使用情形外,还可以提供更生动鲜活的视觉体验,从而进一步增强用户体验。vSGA在虚拟机中使用的是VMware的驱动,每个用户显存最多512MB。

      vGPU

    是指Virtual Graphics Processing Unit (vGPU) ,是在VMware vSphere6.0上的新功能,它介于vSGA和vDGA之间,即可以使用GPU的核心资源,又可以进行不同配置的共享,从而在经济性和性能之间达到比较好的均衡,在虚拟机中使用的是GPU的原生驱动,从而性能比vSGA更加强劲,而通过显存上的共享从而使一块GPU卡可以共享给更多的用户,达到更加经济的目的。vGPU有不同类型的配置文件使用,包含K120Q,K220Q,K140Q,K240Q,K160Q,K260Q,K180Q,K280Q型号,应用程序对于它们也都已经加入了认证的列表。

       vDGA

    是指Virtual Dedicated Graphics Acceleration(vDGA),是 VMware Horizon View 提供的专有硬件图形加速功能,用于为需要独立GPU的使用情形提供高端工作站显卡的用户使用场景。使用vDGA时,利用VMware DirectPathI/O将安装在底层主机中的图形适配器分配给虚拟机。将独立GPU资源分配给虚拟机从而让整个GPU专供该虚拟机使用。vDGA的实施成本较高,但与单台高端工作站相比,能够降低成本。每台主机的虚拟机数量受限于该服务器中PCIe x16插槽的数量。现在已有配备多达4个PCIe x16插槽的服务器硬件,并且机架中也有用于高端GPU的空间。有些刀片服务器机箱硬件供应商还提供能够支持多达8个GPU的“侧插”式扩展单元。使用vDGA时,在虚拟机中将使用来自GPU供应商的驱动软件。

    三种方式的使用场景如下图:

    wKiom1aBQx_y3slGAAC1OkaYjIY010.png                           


    下一部分将介绍vGPU主要的技术参数


    转载于:https://blog.51cto.com/chenzhonghua/1729341

    展开全文
  • <p>To enable software 3D GPU 4 options needs to be added: | name | value | | :-: | :-: | | mks.enable3d | true | | mks.use3dRenderer | automatic | | svga.autodetect | false | | svga.vramSize | (size ...
  • win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python 转发请说明来处 Win7配置caffe(无GPU) 配置环境: 必须:win7 64 + vs2013 Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想...

    win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python

     

     

    转发请说明来处

    Win7配置caffe(无GPU

    配置环境:

    必须:win7 64 + vs2013

    Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想安装vs2013,得将旗舰版升级到Service Pack1),如下图

    Vs2013

    本人申请的服务器,无GPU,如图:

    计算机-属性-设备管理器

    (如果你的是NVIDIA,需要下载CUDA,不着急下面先看)

    本人python2.7.12(不是安装的anaconda,当然建议安装这个)

    Matlab2016a

    步骤就是按照happernear大神写的来的,

    中文版安装教程:http://blog.csdn.net/happynear/article/details/45372231

    英文版教程:(如果你运行成功,请给happynear大神点赞)

    https://github.com/happynear/caffe-windows

    现在我再详细的演示一下:

    1. 从caffe官方master分支fork过来的源代码:https://www.github.com/happynear/caffe-windows

    有大神自己亲手制作的第三方库(是20160510而不是0326的):

    http://pan.baidu.com/s/1eStyfrc

    2.解压这两个,且将D:\deeptools\3rdparty20160510里面的三个文件夹复制粘贴到D:\deeptools\caffe-windows-master\3rdparty

    3. 双击./src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h和caffe.pb.cc两个c++文件,和caffe_pb2.py这个python使用的文件。

    4. 如果你的显卡比较老或者没有显卡,请使用./build_cpu_only/MainBuilder.sln。(大家看到我的显卡不是NVIDA的,所有我没有安装CUDA或是CUDNN)

    5.现在先要查看且配置一下:

    如图中所示对于caffe右击属性,我们看到附加包含目录中有3rdparty/include。

    然后对caffelib右击属性,查看附加包含目录中也有这个3rdparty/include。

    如果你要配置matlab接口,请对matcaffe右击属性,将附加包含目录中写入你的matlab安装目录。

    如果你要配置你的python接口,将你的python安装目录按图中引入。

    然后按图中将自动后面的Debug改为Release,后面win32改为×64,进行编译即按红框内的绿色三角,大约等半个小时。。

    出现如下结果:

    注意:如果出现图中错误

    解决方法:

    改为自己的matlab安装目录。。

    然后右击重新生成。

    查看

    出现 caffe_mexw64 即成功,

    使用python,再次确认:

    要用python的:右击pycaffe生成,结果:

    然后查看,出现了_caffe.pyd,成功。

    6.接下来进行测试:到 http://pan.baidu.com/s/1mgl9ndu  下载已经转换好的MNIST的leveldb数据文件,解压至./examples/mnist文件夹中,

    然后运行根目录下的run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头,txt格式的日志文件中。

    出现以下问题

    打开LOG日志查看

    解决方法:

    打开且修改将GPU改为CPU

    又出现了这个问题。。。,自己感觉是在过程中,当时参考了很多,有很多都修改了,所以,我重新加载了原始的example文件夹,然后重新下载了测试的,将其中的

    修改

    又重新run_minist

    在训练中, 要知道minist数据集 迭代次数为10000, 如果想要提前结束,不要直接关cmd 要按先Ctrl+Break保存当前工作状态,然后Ctrl+C终止训练。成功!!!

    7.matlab接口(用matlab的看这里)

    (1)把文件夹 。。caffe-windows-master/3rdparty/bin添加到系统环境变量中,如下:

    (2)把3rdparty/bin中的dll文件,拷贝到 “caffe-windows-master/matlab+caffe/private“中,如下:

    复制粘贴到

    (3)matlab测试 打开到如下路径

    “caffe-windows-master/matlab/demo/classification_demo.m”,

    classification_demo.m需要文件bvlc_reference_caffenet.caffemodel,可以到 
    http://dl.caffe.berkeleyvision.org/  
    下载,下载后放到“models/bvlc_reference_caffenet/”中;

    (4)运行[scores,
    maxlabel] = classification_demo();

    运行结果:

    至此matlab配置测试成功。

    8.python
    接口(用python的看这里)

    (1)首先我们要注意到https://github.com/happynear/caffe-windows

    我们得安装一些python包,需要的包查看下面的requirements

    (2)现在查看一下自己的python都安装好了哪些包,打开菜单-cmd,输入pip list,或是pip freeze

    (3)现在安装这些包,下载网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 大部分都可以从这里找到

    顺序:numpy -> scipy->
    matplotlib -> scikit-learn,其他不知

    建议网址 http://www.cnblogs.com/LiuSY/p/5710652.html

    安装numpy:

    将numpy.whl下载到python安装目录D:\Python27\Scripts。然后打开cmd,切换到D:\Python27\Scripts,输入pip
    install numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl回车显示successfully install 成功

    安装cython:(都是要先从网上下载.whl)

    安装scikit-image时需要的包比较多:

    从下图我们可以看到
    collecting networkx所以我们就需要去网址下载这个networkx

    然后pip install,

    然后看到安装nexworkx时,collecting decorator,那我们就再下载这个
    pip install

    然后再次安装networkx

    看到安装scikit-image还需要collecting dask继续下载安装dask

    看到安装scikit-iamge还需要pillow继续下载安装

    看到还需要toolz

    继续下载安装tooz,,,然后安装scikit-image

    安装six、pyyaml、Pandas、nose、h5py、ipython。。都和上面一一样下载然后pip
    install

    (可以经常pip list,对照查看自己还差哪个)

    现在还需要python-gflags、protobuf、leveldb比较麻烦安装

    下载python-gflags:

    然后 解压, cmd到解压目录,python
    setup.Py install

     

    出现这个结果

    这里出现gflags就成功了

    现在安装leveldb

    下载并解压 然后用vs2013打开红框里的类型是Microsoft
    ,,,,

    注意红框里的几个地方有需要修改的请修改,

    生成

    然后按照下图中4.

    将红框里的复制到

    打开cmd切换到

    出现hello world
    成功安装

    安装protobuf

    下载protobuf-3.0.0
    下载网址

    http://www.vdisk.cn/GoogleAuthenticator/protobuf-python-3.0.0-beta-2.tar.gz.html

    然后解压,然后打开到python,查看readme

    打开cmd 到这个目录,输入python setup.py build回车,python
    setup.py test回车,

    python
    setup.py install回车,

    查看且把红框里的复制到

    Ok 安装成功

    (4)测试python caffe

    打开python,输入import caffe 没出错即成功

    注意:安装网上给的网址protobuf  https://github.com/google/protobuf

    会出问题:

    要升级安装protobuf3.0.0

    9.C++接口

    http://m.blog.csdn.net/article/details?id=51355143 无亲测不知道可不可行

     

    win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python的更多相关文章

    1. PL/SQL连64位Oracle11g R2 win7 64旗舰环境

      说明:使用的软件版本是PL/SQL Developer 7.0.1,Oracle服务器端安装在Windows7旗舰版上. 以下是我的步骤 1,先到Oracle网站下载客户端:http://www.or ...

    2. centos7 在 vmware下的安装与配置

      我们这里选择的centos7的版本是  CentOS-7-x86_64-DVD-1511.iso 在vmware下安装,碰到两个问题: 1)安装如下界面时,会发现“开始安装”按钮是灰化的,这时需要对有 ...

    3. Win7(64Bit旗舰版) 安装 PL/SQL Developer图解说明

      Win7逐渐成为现行主流的windows操作系统,其32和64位系统平分秋色.然而当下还没有64位的PL/SQL Developer问世,直接用32位的PL/SQL Developer连接Win7(6 ...

    4. win7系统旗舰版path

      %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShel ...

    5. win7 64的系统安装。net4.0总是提示安装未成功

      主要原因是Windows update的临时文件损坏,建议重命名该文件夹. 1. 开始——运行——cmd——键入net stop WuAuServ回车(停止windows update服务): 2. ...

    6. Win7 64位下PowerDesigner连接64位Oracle11g数据库

      操作系统:WIN7 64旗舰版 Oracle版本:64位11g PowerDesigner版本:15.1 问题描述:因为PowerDesigner是32的程序,连接数据库会默认开启32位的ODBC,因 ...

    7. Win7旗舰版-X86-X64-快速装机版

      装机版作品简介 Win7 32/64位旗舰版 6.5z 专注于Win7,致力于做更好用的系统!一如既往的品质,不流氓,不欺骗,不夸大!一直在改进,只为做得更好!万千用户的信赖,作者的品质保证! 作品摘 ...

    8. 在VMware下正确克隆CentOS6.5的打开方式

      引言 想必用VMware Workstation软件安装虚拟机,作为一个爱"折腾"的攻城狮肯定是千千万万遍的事情.无论是学习还是工作之中,我们都会遇到需要在一台物理主机上运行多台虚 ...

    9. windows7旗舰版激活密钥永久版免费分享

      windows7之家不仅提供精品Win7教程 给大家,加上这个windows7激活密匙还帮大家解决windows7系统激活问题,包括win7旗舰版 windows7安装版这些. 用的是Windows7 ...

    随机推荐

    1. 基于SSM的租赁管理系统1.0_20161225_框架搭建

      搭建SSM底层框架 1. 利用mybatis反向工程generatorSqlmapCustom完成对数据库十表的映射 generatorConfig.xml <?xml version=&quo ...

    2. .NET不可变集合已经正式发布

      微软基础类库(Base Class Library)团队已经完成了.NET不可变集合的正式版本,但不包括ImmutableArray.与其一起发布的还包括针对其它不可变对象类型的设计指南. 如果你需要 ...

    3. Javascript学习笔记:闭包题解(1)

      代码: function createFunctions(){ var result=[]; for(var i=0;i<10;i++){ result[i]=function(){ retur ...

    4. Go语言实现简单的一个静态WEB服务器

      package main import ( "net/http" ) func main() { http.Handle("/", http.FileServe ...

    5. 一段关于测试和自定义Attribute的代码

      来自<西夏普入门经典> using System; using System.Collections.Generic; using System.Linq; using System.Te ...

    6. Validation failed for one or more entities.

      验证失败后用DbEntityValidationException 查找出错的字段 try { // Your code... // Could also be before try if you k ...

    7. 异常处理try-catch-finally

      php5.5新增 Finally模块 try {    //好好干,出了问题不要怕,外面有人接应} catch (HttpException $e) {    //时刻准备着,处理上面抛出的HTTP问 ...

    8. Rhino 是一个完全使用Java语言编写的开源JavaScript实现。Rhino通常用于在Java程序中,为最终用户提供脚本化能力。它被作为J2SE 6上的默认Java脚本化引擎。

      https://developer.mozilla.org/zh-CN/docs/Mozilla/Projects/Rhino

    9. SCP 命令(转)

      \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

    10. pydev导入eclipse

      编辑器:Python 自带的 IDLE 简单快捷, 学习Python或者编写小型软件的时候.非常有用. 编辑器: Eclipse + pydev插件 1. Eclipse是写JAVA的IDE, 这样就 ...

    Home

    展开全文
  • 相关信息:VMware招聘机器学习和云原生开发工程师VMware招聘内源开发工程师VMware招聘应届生开发工程师《Harbor权威指南》新书发布1. 背景GPU作为一种加速器芯片,在机...

    相关信息:

    VMware招聘机器学习和云原生开发工程师

    VMware招聘内源开发工程师

    VMware招聘应届生开发工程师

    《Harbor权威指南》新书发布

    1. 背景


    GPU作为一种加速器芯片,在机器学习,特别是深度学习中得到广泛的应用。但是,无论是企业、学校、医院或者政府单位,决定在人工智能领域进行投入时,领导却发现:

    • 投入了100万,光买设备就花了80万,工程师还经常抱怨GPU资源不够用

    • 当工程师雄心勃勃打算开始干活,却发现花了一个多星期,IT环境还没有搞好

    究其原因,大致有以下三个:

    1. GPU采购成本比较高,而且由于技术发展的限制,在实际使用中,比较难于共享,从而导致浪费和不足的情况并存。

    2. GPU的使用场景比较复杂,训练需要大量资源且需要长时间使用,在线推理需要及时响应,而开发和培训/课程实训场景的并发用户数会很多。

    3. 机器学习的环境配置复杂,且通常情况下数据工程师不擅长。

    • 通常,环境涉及到GPU驱动、CUDA、程序设计语言编译器/解释器(比如python)、机器学习平台(比如TensorFlow、PyTorch)等。而且这些软件对版本都有一定的匹配要求。

    • 根据不同人员的使用习惯,有人喜欢用docker,有人喜欢直接运行命令,可能还涉及到Jupyter notebook工具的使用。

    • 很多的安装程序都需要连接到国外服务器,下载速度很慢。

    VMware基于Bitfusion技术的方案正是来应对这样的场景和需求。

    2. 场景与需求


    最近我们针对于高校的使用场景做了一个验证,和大家分享一下。当然,虽然这是高校场景,但对于其他行业,依然具有参考价值。

    在高校中,遇到的场景主要包含上课和科研。

    1. 在上课场景中,通常情况下,任课老师会根据课程需要事先安装相应的软件和工具;在实际课程中,学生每人获得一个这样的环境,使用课程中相关的算法进行模型的开发和训练。在整个过程中,学生关注于机器学习的方法和算法,而不是环境的安装、配置和故障处理。

    2. 在科研场景中,科研人员(包括老师和研究生)根据科研任务和场景,开发相应的模型、算法和参数,并且利用GPU进行训练和调整。


    3. 解决方案架构


    针对于以上需求,我们构建了以下架构的IT基础设施服务:

    图1:整体架构图

    首先构建基于Bitfusion的GPU共享池。我们通过创建4台虚拟机,每台虚拟机通过vSphere的直通技术使用2块GPU V100(32GB显存)的GPU卡。

    课程场景的资源,通过Horizon虚拟桌面提供。具体流程如下:

    1. 老师通过在虚拟机中安装课程所需的软件,制作课程模板。课程使用机器学习常用的Ubuntu16.04和Ubuntu18.04操作系统,并且虚拟机已经安装了Bitfusion客户端,可以将任务发送到远程的Bitfusion服务器端进行计算。

    2. IT管理员通过镜像模板在上课之前发布虚拟桌面,桌面数量与学生数量保持一致,或者略多一些。

    3. 学生在上课时,通过实训教室现有的PC,或者瘦客户机,或者学生自己的笔记本电脑,通过浏览器或者Horizon客户端登录到虚拟桌面,根据课程指定的任务。当需要GPU资源时,Bitfusion客户端会将任务发送到远程Bitfusion服务器端执行;当资源不足时,系统会进行排队。

    4. 课程结束后,资源自动回收。

    在科研场景中,科研人员如果是进行模型开发,依然可以在Horizon虚拟桌面中进行;如果是长时间执行的训练的任务,则建议通过vRealize Automation云管理平台申请已经安装并enable bitfusion的虚拟服务器。科研人员在虚拟服务器中执行相关的python代码,运行在虚拟服务器中的Bitfusion客户端会将相关的程序发送到Bitfusion服务器端执行。当然,如果科研人员希望在虚拟服务器中使用docker或者Jupyter notebook,也是没有问题的。

    通过Bitfusion的Quota机制,可以给到不同的用户和场景,不同的最大可使用资源份额,以避免资源的滥用。Bitfusion也可以通过设定,断开占用GPU资源但是却没有真正使用的客户端。

    4. 测试用例


    在本次测试中,我们验证了以下用例:

    1. 使用编辑器编写python代码,通过python命令直接运行

    2. 运行python之后进入到交互命令行,运行相关命令

    3. 使用Jupyter Notebook打开ipynb文件,并运行相关notebook

    4. 使用Docker启动Nvidia提供的容器镜像,并进入容器内执行相应的python脚本

    具体测试过程和结果如下:

    4.1 使用编辑器编写python代码,通过python命令直接运行

    我们使用TensorFlow官方的benchmark工具tf_cnn_benchmarks. https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks 使用cifar10数据集https://www.cs.toronto.edu/~kriz/cifar.html,模型采用resnet110,batch_size为64

    原生的脚本命令命令如下:

    python3  ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py  --data_format=NCHW  --batch_size=64  --model=resnet110  --variable_update=replicated  --local_parameter_device=gpu  --nodistortions --num_gpus=1  --num_batches=100  --data_dir=./benchmarks/data/cifar-10-batches-py  --data_name=cifar10  --use_fp16=False
    

    本测试中,我们使用Bitfusion来运行。Bitfusion的具体使用方法可以参看官方文档 《在vSphere Bitfusion上运行TensorFlow的示例指南》 https://docs.vmware.com/cn/VMware-vSphere-Bitfusion/2.0/vmware-vsphere-bitfusion-20-tensorflow-example-guide.pdf。

    我们尝试以下GPU份额:完整的V100GPU、1/10个GPU、1/20个GPU. 实际使用的显存分别为:32GB、3.2GB、1.6GB。本项测试的关注点在于我们究竟需要多少GPU,才可以正常运行这个TensorFlow benchmark。

    我们使用如下命令调整GPU的份额:

    bitfusion run -n 1 -p 1 -- python3  ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py  --data_format=NCHW  --batch_size=64  --model=resnet110  --variable_update=replicated  --local_parameter_device=gpu  --nodistortions --num_gpus=1  --num_batches=100  --data_dir=./benchmarks/data/cifar-10-batches-py  --data_name=cifar10  --use_fp16=False
    
    bitfusion run -n 1 -p 0.1 -- python3  ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py  --data_format=NCHW  --batch_size=64  --model=resnet110  --variable_update=replicated  --local_parameter_device=gpu  --nodistortions --num_gpus=1  --num_batches=100  --data_dir=./benchmarks/data/cifar-10-batches-py  --data_name=cifar10  --use_fp16=False
    
    bitfusion run -n 1 -p 0.05 -- python3  ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py  --data_format=NCHW  --batch_size=64  --model=resnet110  --variable_update=replicated  --local_parameter_device=gpu  --nodistortions --num_gpus=1  --num_batches=100  --data_dir=./benchmarks/data/cifar-10-batches-py  --data_name=cifar10  --use_fp16=False
    

    以上所有的配置中,tf_cnn_banchmarks处理的结果均大致为:1200 images/second。当然,这个性能数据和直接使用本地的GPU还是有一些差距,主要原因是本次测试,由于条件的限制,并没有做优化。具体的优化可以参看:《VMware vSphere Bitfusion Performance Best Practices Guide》https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/bitfusion-perf-best-practices.pdf

    如果采用0.05个GPU支持单个任务,则一块V100 GPU(32GB显存)则可以同时支持20个并发tf_cnn_benchmarks任务。如果用户希望增加更多的并发任务,则需要调整batch_size参数。在实际应用中,由于系统提供排队机制,当单个任务执行时间不是很长的情况下,可以有更多的学生同时使用。

    4.2 运行Python,并进入到交互命令行,运行相关命令

    此类情形,我们需要首先申请远程GPU资源,然后再运行相关的命令和脚本,最后需要释放远程的GPU资源。相关的命令可以参考Bitfusion官方文档 - 《VMware vSphere Bitfusion 用户指南》 https://docs.vmware.com/cn/VMware-vSphere-Bitfusion/2.0/vmware-vsphere-bitfusion-20-user-guide.pdf

    在下面这个示例中,我们首先申请单块GPU,2048M的显存;然后进入Python交互式命令行,运行tensorflow的代码获得GPU信息;最后释放GPU。

    $ bitfusion request_gpus -n 1 -m 2048
    Requested resources:
    Server List: 192.168.131.36:56001
    Client idle timeout: 0 min
    
    $ bitfusion client -- python3
    Python 3.6.9 (default, Jul 17 2020, 12:50:27)
    [GCC 8.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tensorflow as tf
    ...
    >>> print(tf.test.gpu_device_name())
    ...
    2020-09-27 18:08:42.584300: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
    name: Tesla V100-PCIE-32GB major: 7 minor: 0 memoryClockRate(GHz): 1.38
    pciBusID: 0000:00:00.0
    totalMemory: 2.00GiB freeMemory: 1.41GiB
    ...
    2020-09-27 18:08:42.592493: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/device:GPU:0 with 1217 MB memory) -> physical GPU (device: 0, name: Tesla V100-PCIE-32GB, pci bus id: 0000:00:00.0, compute capability: 7.0)
    
    /device:GPU:0
    ...
    
    >>> quit();
    
    $ bitfusion release_gpus
    

    从以上验证结果我们可以看到Bitfusion支持交互式Python运行方式。

    4.3 使用Jupyter Notebook打开ipynb文件,并运行相关notebook

    Jupyter Notebook 作为一个代码、输出、文档、多媒体资源整合在一起的多功能科学运算平台,深受数据科学工作者的喜爱,被广泛的应用在机器学习的各个教程中。

    Jupyter Notebook 支持自定义kernel来运行代码,所以我们有机会构建基于Bitfusion的python kernel。如下图所示:

    图2:使用Bitfusion kernel运行Jupyter Notebook

    具体的做法可以参看《Bitfusion Jupyter Integration—It’s Full of Stars》 https://blogs.vmware.com/vsphere/2020/08/bitfusion-jupyter-integration-its-full-of-stars.html

    需要指出的是,kernel在定义的时候,就需要指定所用的GPU资源。所以,如果在课程中,需要使用不同大小的GPU资源,则可能需要定义多个kernel。

    本次测试使用TensorFlow官方的标准教程(tutorial)中的穿戴用品的图像识别 - https://github.com/tensorflow/docs/blob/master/site/en/r1/tutorials/keras/basic_classification.ipynb

    在测试中,我们发现只需要配置0.02个V100 GPU资源就可以顺利运行basic_classification的应用;也就是说,一块V100的GPU卡可以同时给到50个学生使用。

    与交互式python类似,当用户在Jupyter Notebook的网页中,选定一个kernel开始运行的时候,这个kernel就占据了GPU资源,直到kernel被停止。也就是说,如同4.1中的超配(overcommit)之后的排队,在使用Jupyter Notebook时候,不能使用。

    4.4 使用Docker启动Nvidia提供的容器镜像,并进入容器内执行相应的python脚本

    随着Docker的流行,很多数据科学家也开始使用Docker。Docker的优势在于docker image中已经安装好了运行环境,用户省去了很多繁琐的安装配置工作。用户通过切换docker images也可以很容易的切换运行环境。不管是Nvidia,还是framework的供应商(比如TensorFlow),也都提供了docker images给到大家使用。当然,使用docker也带来的一些麻烦,就是用户必须要了解docker的使用。

    在bitfusion结合docker的场景中,docker image 管理员需要基于官方的镜像,通过 docker build 构建基于bitfusion的docker image。比如如下的Dockerfile就是在nvcr.io/nvidia/tensorflow:19.03-py3中加入bitfusion的支持,生成新的docker image。

    $ cat Dockerfile
    FROM nvcr.io/nvidia/tensorflow:19.03-py3 
    MAINTAINER XXX University Bitfusion
    
    #  Set initial working directory
    WORKDIR /home/bitfusion/downloads/
     
    # Update package list
    RUN apt-get update
     
    # Install Bitfusion. Assumes deb for Ubuntu16.04
    # resides in mounted directory, /pkgs
    COPY bitfusion-client-ubuntu1604_2.0.0beta5-11_amd64.deb .
    RUN apt-get install -y ./bitfusion-client-ubuntu1604_2.0.0beta5-11_amd64.deb
    # Must run list_gpus to pull in env and tokens
    RUN bitfusion list_gpus
    

    制作新的docker image,然后通过运行docker run进入到docker进程的shell,下面用户就可以运行相关的Python代码了。

    sudo docker build -t tensorflow:19.03-py3-bitfusion .
     
    sudo docker run --rm --privileged --pid=host --ipc=host \
       --net=host -it \
       -v /data:/data \
       -v /dev/log:/dev/log \
       tensorflow:19.03-py3-bitfusion
    

    具体的方式可以参看这份文档。《AI/ML, vSphere Bitfusion, and Docker Containers—A Sparkling Refreshment for Modern Apps》 https://blogs.vmware.com/vsphere/2020/06/ai-ml-vsphere-bitfusion-and-docker-containers-a-sparkling-refreshment-for-modern-apps.html

    从以上验证结果我们可以看到Bitfusion支持在容器环境中使用。

    5. 方案主要优势


    1. 使用Bitfusion统一管理所有的GPU资源,按需使用,用完自动归还,尽可能减少idle的情况,大大提升了GPU资源的使用效率

    2. Bitfusion GPU共享机制对用户使用透明,用户不需要改变任何代码

    3. 使用Horizon虚拟桌面和即时克隆技术,可以提供统一的环境给到学生,让学生可以专注在课程本身,而不是环境的安装和配置

    4. 科研人员可以利用到更多的GPU资源,更快的完成训练任务得到反馈,提高了科研的效率

    6. 扩展讨论


    本方案主要解决的是学习、开发和训练的场景,依然适合于其他行业的类似场景。针对于推理场景,特别是在线推理,本架构很容易扩展支持。

    图3:支持开发、训练和推理的架构

    7. 总结


    GPU最为一种加速器资源,在数据科学特别是机器学习场景中,被广泛采用。当前的GPU使用方式,无论是资源使用效率,还是运行环境的运维上,都存在很大的挑战。VMware的Bitfusion技术应运而生,使得GPU资源可以在多个客户端分时共享,并且可以根据应用需求灵活动态的切割显存。本文基于高校的教学和科研场景,结合VMware Horizon虚拟桌面产品和vRealize云管理平台产品,设计解决方案,并进行了相关验证,验证基本覆盖了常用的使用场景和工具。通过扩展,该解决方案架构依然适用于其他行业。


    正文完


    参考文献:

    1. vSphere Bitfusion 2.0.0 安装指南:https://docs.vmware.com/cn/VMware-vSphere-Bitfusion/2.0/vmware-vsphere-bitfusion-20-installation-guide.pdf

    2. VMware vSphere Bitfusion 用户指南: https://docs.vmware.com/cn/VMware-vSphere-Bitfusion/2.0/vmware-vsphere-bitfusion-20-user-guide.pdf

    3. 在 vSphere Bitfusion 上运行 TensorFlow 的示例指南: https://docs.vmware.com/cn/VMware-vSphere-Bitfusion/2.0/vmware-vsphere-bitfusion-20-tensorflow-example-guide.pdf

    4. Bitfusion Jupyter Integration—It’s Full of Stars: https://blogs.vmware.com/vsphere/2020/08/bitfusion-jupyter-integration-its-full-of-stars.html

    5. AI/ML, vSphere Bitfusion, and Docker Containers—A Sparkling Refreshment for Modern Apps: https://blogs.vmware.com/vsphere/2020/06/ai-ml-vsphere-bitfusion-and-docker-containers-a-sparkling-refreshment-for-modern-apps.html


    要想了解云原生、区块链和人工智能等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。

    展开全文
  • 三种方式的主要参数对比如下:三种方式支持的GPU的型号列表:vGPU在NVIDIA K1、K2的不同Profile的组合方式:vGPU的组合方式:vGPU在建立虚拟机时,每个GPU的核心只能建立一种vGPU的配置,例如:如果K2的一个核心建立...

    三种方式的主要参数对比如下:

    wKioL1aBRMugejAwAAI30P2uK8A079.jpg

    三种方式支持的GPU的型号列表:

    wKioL1aBRV3BRB0gAAF6W6NvrhI673.jpg

    vGPUNVIDIA K1K2的不同Profile的组合方式:

    wKiom1aBRjmyCUQDAAI7-8keIG4933.jpg

    vGPU的组合方式:

    vGPU在建立虚拟机时,每个GPU的核心只能建立一种vGPU的配置,例如:如果K2的一个核心建立了一个虚拟机使用了K240Q的配置文件,则这个核心将不能再建立不同于K240Q的虚拟机配置,也就是说这个核心只能再建立3个K240Q配置的虚拟机,无法建立K260Q,K280Q或者K220Q配置的虚拟机。

    以下是Nvidia K2 GPU的配置文件情况图:

    wKioL1aBRiPhZdieAAHHkAdic9I892.jpg

    注意:红色的分配方式是不允许的。


    下一部分将介绍VMware vGPU方案中常用的链接地址


    转载于:https://blog.51cto.com/chenzhonghua/1729345

    展开全文
  • VMware虚拟机如何为GPU直通启用

    万次阅读 2020-03-03 12:23:06
    查阅了很多资料是 目前的我的电脑显卡不支持,...https://www.dell.com/support/article/zh-hk/sln288103/%E5%A6%82%E4%BD%95%E4%B8%BAgpu%E7%9B%B4%E9%80%9A%E5%90%AF%E7%94%A8vmware%E8%99%9A%E6%8B%9F%E6%9C%B...
  • VMware中的Ubuntu能否使用主机的GPU进行运算加速,如果可以要怎么使用
  • VMware虚拟机ubuntu上无法GPU加速

    万次阅读 2018-10-12 13:18:08
    虚拟机上装N卡驱动会导致其他驱动全都不能用,所以不能在虚拟机上装N卡驱动,即无法使用GPU
  • 目前能找到虚拟化技术讲的最深,最透的一本书。 非常不错,有价值。介绍了虚拟化的历史、基础理论、X86 ARM的芯片支持,介绍了KVM以及ZEN的支持情况,同时对比了这两种虚拟机以及两种指令集架构的性能对比,以及后续...
  • VMWARE虚拟化环境下对GPU的配置说明

    万次阅读 2015-08-24 11:08:49
    设计部门的同事开始对虚拟化是一种很复杂的心情,羡慕...VMware 针对 3D 显示,提供了 3 种不同的图形加速技术,分别是 Software 3D、vSGA 和 vDGA。1、Soft 3D - 自 View 5.0 时引入。软件实现的 3D 渲染使用了 Soft
  • 背景自从华为开源了MIndSpore深度学习框架,题主就始终惦记着要充分利用手里有且仅有的游戏本,给它加持一套高大上的支持GPU的MindSpore环境,但让人泪奔的是——MindSpore-gpu不兼容Windows!!!虽然MindSpore也能...
  • VMwareGPU虚拟化的三种模式(1)–vSGA

    千次阅读 2020-11-25 14:49:03
    VMwareGPU虚拟化的三种模式(1)–vSGA 或者说,三种虚拟化图形加速类型 虚拟共享图形加速 (vSGA , virtual Shared Graphics Acceleration) 虚拟共享直通图形加速 (vSPTG , virtual Shared Pass-Through ...
  • vmware桌面云建设项目方案建议书(包含GPU) https://www.toutiao.com/i6943147356946743846/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1616597461&app=news_article&...
  • 适用于VMware Vsphere6.5 Installing AMD MxGPU VIB 1.0.5 For detailed instructions on how to correctly uninstall or install AMD MxGPU VIB 1.0.5, please refer to the following deployment guide:...
  • ESXi专为运行虚拟机、最大限度降低配置要求和简化部署而设计。只需几分钟时间,客户便可完成从安装到运行虚拟机的全过程,特别是在下载并安装预...将GPU设备设置为vGPU模式 esxcli graphics host set --default-ty...
  • 一、简介 本文介绍Horizon View GPU显卡虚拟化技术,包括vSGA与vDGA两种使用及配置技术。1.1 什么是vSGA?vSGA 指“Virtual Shared Graphics Acceleration”(虚拟共享图形加速)。vSGA 的功能是利用在 ESXi 主机中本...
  • GPU support

    2020-12-09 05:19:43
    <p>Reference: https://blogs.vmware.com/apps/2018/07/using-gpus-with-virtual-machines-on-vsphere-part-1-overview.html</p> <p><strong>Environment:</strong></p> <ul><li>Cluster-api-provider-vsphere ...
  • 目前流行的商用GPU虚拟化方案可以分为以下几类:GPU 直通模式,GPU SRIOV 模式,GPU 半虚拟化(mediated passthrough:包括Intel GVT-g和Nvidia GRID vGPU),VMWareGPU全虚拟化(vSGA)。当然也有尚未成熟处于...
  • 【深度学习】GPU型号选择

    万次阅读 2019-12-19 12:07:35
    浪潮 NF5280M3 GPU选型 必备条件 支持Tensorflow(即算力超过3的NVIDIA显卡) NVIDIA显卡算力:link 可虚拟化:因为我们需要在...兼容 VMware vSphere Hypervisor,甚至有专门的驱动和教程 初步锁定GRID K1...
  • Fix vmware misc bugs

    2020-12-06 00:52:52
    On some GPU (seen on VMWare only) this shape was blocking the rays letting think that the lidar was broken. I set a better value for the near plane, with a security margin.</li><li>[x] picking: on a ...
  • Vmware 中 Ubuntu 20.04 安装 NVIDIA CUDA以及 ...为了使用Tensorflow GPU 尝试在vmware中 安装cuda , 但是 vmware不允许直接安装nvidia驱动; 采用 vSphere Bitfusion 技术来间接使用CUDA 参考链接 vSphere Bitfusio
  • VMware BitFusion 初探一(环境搭建)

    千次阅读 2020-07-29 19:02:50
    VMware在2019年8月收购了BitFusion,后者是硬件加速设备虚拟化领域的先驱,重点关注GPU技术。 BitFusion 提供了一个软件平台,可将特定的物理资源与环境中所连接的服务器分离,通过网络的方式让多个Client共享GPU...
  • 网上基本没有关于虚拟机安装tensorflow的文章,然后以为虚拟机vmware安装ubuntu18.04后,可以在上面安装tensorflow-gpu的版本。然后装了一天的cuda9.0都装不上,vmware上的ubuntu18.04一直提示,无法安装nvidia图形...
  • Ubuntu 14.04 64bit 安装Caffe(GPU版本)

    千次阅读 2017-08-15 16:21:06
    1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windows 7 64bit系统上安装了Ubuntu 14.04 64bit系统,链接在此,...
  • ubuntu 查看gpu信息

    2020-11-06 09:28:37
    1.查看显卡型号 lshw -c video 从信息可以看出,型号为:SVGA II Adapter root@tracy-virtual-machine:/home/tracy/anbox# lshw -c video ...vendor: VMware physical id: f bus info: pci@0000:00:0f.0 version: 00 w
  • 【最终选择环境】:ubuntu 18.04 TLS,cuda 10.0,cuDNN 7.4.6,tensorflow-gpu == 1.13.1 1、ubuntu 18.04 TLS安装教程 2、VMwareTools安装 3、显卡驱动NVIDIA安装教程 4、cuda10.0 以及 cuDNN 7.4.6 安装教程...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

gpuvmware