聊聊GPU虚拟化应用

栏目: 服务器 · 发布时间: 7年前

提起NVIDIA,你多半会想起显卡,像我一般年纪的人,对显卡的理解就是游戏加速。上大学时玩实况足球,有个GeForce显卡是一件很幸福的事情,比起主板上集成的显卡,它的存在能够让我们游戏中的草皮更加翠绿,脚下足球更加的行云流水,那时候的实况足球可以实现足球经理人的任何梦想,钞票能买到任何想要的球员。门将圣卡西,后卫由左至右分别是马尔蒂尼、内斯塔、特里、萨内蒂;中场维埃拉、法布雷加斯、小罗;前锋则是梅西、亨利、罗纳尔多;阵容够炫吧!

聊聊GPU虚拟化应用

随着人工智能的火爆发展,显卡不再是游戏的代名词了,而被冠上了“机器学习心脏”这个高大上的名字。而nvida公司则凭借视觉计算领域的绝对王者地位,3年时间市值最高翻了6倍之多。我刚入职人工智能领域时,不理解为什么显卡会成为“深度学习”的依赖,相信很多人也跟我有一样的困惑;简单来说,GPU主要侧重于计算能力,它由数千个更小、但更高效的Cores组成,通过并行计算的方式,处理多重且复杂的任务。

聊聊GPU虚拟化应用

CPU我们知道,它的全称是中央处理器,是一台计算机的控制核心和计算核心。它的主要功能在于逻辑控制和任务调度。因此GPU较之于CPU,CPU更像是一个公司的CEO,掌管的整个公司的运营和战略,统筹整个公司的工作。而GPU则是某个部门的得力干将,能力强,迅速并超额完成公司交于的任务。

聊聊GPU虚拟化应用

深度学习是模拟人脑的神经系统组成,通过设定一些规则和数学网络模型而发展起来的一门学科,目的是为了让计算机能够像人脑一样去思考,去认识和理解这个世界。由于计算机本身没有思维能力,因此需要大量的数据去训练它,因此,它对电脑处理器的要求就必须具备高效的并行计算能力,这一点对于以串行为主、核心数基本在2位数的CPU而言是不具备的。因此,GPU凭借其千级核心,高效运算的特点,成为了深度学习、模型训练的最理想选择。

我所在公司也在涉及人工智能领域,GPU显卡的数目也有了一定规模,如Tesla的M40、P40、P100等显卡都有所应用,当前这些显卡主要用于算法与Demo的训练。我们通过 Docker 虚拟化形式实现对GPU资源的分发利用。

首先在搭载有GPU的宿主机上安装CUDA架构环境,进入CUDA Tookit Download官网,现在对应的版本。安装完成后,还需要安装 出DNN,这个是专门对深度学习框架设计的一套GPU加速方案,支持Caffe和TensorFlow等框架。

基础环境安装完毕后,即可以利用nvidia提供的nvidia-docker进行GPU的Docker虚拟化了。官方提供了这些包的安装源列表,安装起来还是比较简单的,安装完毕后,可以通过

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

查看docker GPU容器的运行情况。

最后可以通过 learningtensorflow.com 官方提供的基于TensorFlow的基准测试脚本,进行GPU与CPU的对比测试,可以发现,GPU在并行运算上,性能要由于CPU很多的。

聊聊GPU虚拟化应用

如上图所示,以上基于Docker虚拟化GPU的方案,从本质上说,GPU资源被打包在一个workspace(即Container)中,workspace运行在宿主机上。这种虚拟化方案虽然能够解决独立训练的问题,但同时也存在一些单点和依赖性问题。首先Workspace的运行依赖于宿主机的运行情况,宿主机从本质上讲是一个孤岛;其次,Docker Container的正常运行,也决定了Workspace的生存情况;第三,由于Container是根据Docker命令生成的,在弹性扩容上,存在一定的限制。

面对以上问题,我们考虑,是否能够采用另外一种虚拟化方案,让GPU也向云端靠拢?云计算的发展,使得应用场景发展至异构计算体系架构,随着机器学习、深度学习的发展,对GPU、FPGA等专业计算芯片也提出了虚拟化的需求。最早可以追溯到2013年,NVIDA发布了GRID K1产品,标志着GPU虚拟化的成熟运用。“A Full GPU Virtualization Solution with Mediated Pass-Through”,及分片虚拟化的vGPU技术,Nvidia对于分片虚拟化社区的推动起了至关重要的角色,并在自己的GRID一系列产品线中,不断地发展和更新着vGPU技术。

虚拟化技术的最终目标,就是努力提供与工作人员在物理机上使用时一样的体验。 NVIDIA GRID®VirtualPC(GRID vPC)和GRID®

虚拟应用程序(GRID vApp)可为每个用户改进虚拟桌面和应用程序,并在NVIDIA®Tesla®GPU上构建经过验证的性能,实现卓越的生产力,安全性和IT可管理性。 虚拟化软件划分了Tesla GPU资源,因此GPU可以在运行任何应用程序的多个虚拟机之间共享。目前GRID各release版本对GPU的虚拟化支持如下:

聊聊GPU虚拟化应用

基本上能够支持市场上主流的Tesla GPU型号。

以下分享一个本田集团利用GRID对GPU的应用案例

聊聊GPU虚拟化应用

通过GRID管理平台,Honda IT部门通过调度物理GPU M60,根据用户需要并提供适当数量的vGPU,并能够通过单个Dashboard管理vGPU,从而确保每个用户都有足够的运算性能完成所处理的任务,如此做到了更高级别的弹性扩容。如同云存储、云计算资源类似,GPU也实现了按需分配。

人工智能是第四次工业革命的引领技术,大数据和基于GPU的深度训练是人工智能发展的关键所在,无论之于国家还是企业,都应该通过技术创新,在这一次全世界范围内的浪潮中开启属于自己的一片天地。

https://v.youku.com/v_show/id_XNjY3MTY4NjAw.html

一个很经典的视频,对比了GPU和CPU在图形运算处理上的差别。


以上所述就是小编给大家介绍的《聊聊GPU虚拟化应用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Vim, Second Edition

Practical Vim, Second Edition

Drew Neil / The Pragmatic Bookshelf / 2015-10-31 / USD 29.00

Vim is a fast and efficient text editor that will make you a faster and more efficient developer. It’s available on almost every OS, and if you master the techniques in this book, you’ll never need an......一起来看看 《Practical Vim, Second Edition》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具