当前位置: 首页 > news >正文

免费 成品模板网站凡科在线制作网站

免费 成品模板网站,凡科在线制作网站,东莞关键词优化推广,wordpress对接微信登录简介#xff1a; 云原生已经成为业内云服务的一个趋势。在云原生上支持异构计算有助于提升CPU的利用率。一文分析业内主流GPU共享方案#xff0c;并告诉你阿里云cGPU牛在哪里#xff01;阿里云异构计算推出的cGPU#xff08;container GPU#xff09;容器技术#xff0c;…简介 云原生已经成为业内云服务的一个趋势。在云原生上支持异构计算有助于提升CPU的利用率。一文分析业内主流GPU共享方案并告诉你阿里云cGPU牛在哪里阿里云异构计算推出的cGPUcontainer GPU容器技术创新地提出了一种不同于以往的GPU容器方案克服了业内主流方案的一些常见的缺陷在保证性能的前提下做到了容器之间的GPU显存隔离和任务隔离为客户充分利用GPU硬件资源进行训练和推理提供的有效保障。 作者阿里云异构计算高级技术专家 何旻 背景 云原生已经成为业内云服务的一个趋势。在云原生上支持异构计算这个功能在标准的Docker上已经可以很好的支持了。为了进一步提高GPU的利用率、避免算力浪费需要在单个GPU上可以运行多个容器并且在多个容器间隔离GPU应用这在标准的Docker上是无法做到的。为了满足这一需求业界也做了很多探索。NVIDIA vGPU, NVIDIA MPS, 基于rCUDA的方案等都为用户更小颗粒度的使用GPU提供了可能。 近日阿里云异构计算推出的cGPUcontainer GPU容器技术创新地提出了一种不同于以往的GPU容器方案克服了业内主流方案的一些常见的缺陷在保证性能的前提下做到了容器之间的GPU显存隔离和任务隔离为客户充分利用GPU硬件资源进行训练和推理提供的有效保障。 业内常用方案简介 在介绍阿里云异构计算cGPU计算技术前我们先看看业内有哪些GPU共享方案吧 NVIDIA MPS NVIDIA MPS NVIDIA Multi-Process Service是NVIDIA公司为了进行GPU共享而推出的一套方案由多个CUDA程序共享同一个GPU context从而达到多个CUDA程序共享GPU的目的。同时在Volta GPU上用户也可以通过CUDA_MPS_ACTIVE_THREAD_PERCENTAGE变量设定每个CUDA程序占用的GPU算力的比例。 然而由于多个CUDA程序共享了同一个GPU context这样引入的问题就是当一个CUDA程序崩溃或者是触发GPU错误的时候其他所有CUDA程序的任务都无法继续执行下去了而这对于容器服务是灾难性的问题。 NVIDIA vGPU NVIDIA vGPU方案是GPU虚拟化的方案可以对多用户的强GPU隔离方案。它主要应用于虚拟化平台中每个vGPU的显存和算力都是固定的无法灵活配置另外vGPU的使用需要额外从NVIDIA公司购买license这里我们就不再详细讨论。 rCUDA类似方案 业内还有一种常用方案是通过替换CUDA库实现API层面的转发然后通过修改显存分配任务提交等API函数来达到多个容器共享GPU的目的。这种方案的缺点是需要对静态链接的程序重新编译同时在CUDA库升级的时候也需要进行修改来适配新版本。 阿里云cGPU容器技术 阿里云异构计算GPU团队推出了cGPU方案相比其他方案这是一个颠覆性的创新通过一个内核驱动为容器提供了虚拟的GPU设备从而实现了显存和算力的隔离通过用户态轻量的运行库来对容器内的虚拟GPU设备进行配置。阿里云异构计算cGPU在做到算力调度与显存隔离的同时也做到了无需替换CUDA静态库或动态库无需重新编译CUDA应用CUDAcuDNN等版本随时升级无需适配等特性。 图1. cGPU容器架构图 cGPU内核驱动为一个自主研发的宿主机内核驱动。它的优点在于 • 适配开源标准的Kubernetes和NVIDIA Docker方案 • 用户侧透明。AI应用无需重编译执行无需CUDA库替换 • 针对NVIDIA GPU设备的底层操作更加稳定和收敛 • 同时支持GPU的显存和算力隔离。 使用方式 1 利用阿里云容器服务 阿里云容器服务已经支持cGPU容器组件了通过登录容器服务 Kubernetes 版控制台只需要简单的点击几下为容器节点打标就可以利用cGPU容器隔离最大化的利用GPU的硬件能力了。同时还可以通过Prometheus的监控能力查看每个cGPU容器内的显存用量在享受低成本的同时保障了应用的可靠性。 快速部署和使用的方式可以参见阿里云开发者社区的文章:https://developer.aliyun.com/article/762973 更详细的使用文档可以参考阿里云的帮助文档https://help.aliyun.com/document_detail/163994.html 2 在阿里云GPU实例上使用cGPU容器 为了更灵活的支持各种客户的需要我们也开放了阿里云GPU实例上使用cGPU容器的能力。cGPU依赖 Docker 和 NVIDIA Docker在使用cGPU前请确保环境可以正常创建带GPU的容器服务。 安装: 下载cGPU 安装包: wget http://cgpu.oss-cn-hangzhou.aliyuncs.com/cgpu-0.8.tar.gz 解压后执行 sh install.sh 命令安装。 安装后使用lsmod | grep cgpu 命令验证是否按照成功 lsmod | grep cgpu cgpu_km 71355 0 配置: cGPU组件会检测以下docker的环境变量进行相应操作 • ALIYUN_COM_GPU_MEM_DEV为正整数表示为host上每张卡的总显存大小。 • ALIYUN_COM_GPU_MEM_CONTAINER 为正整数指定容器内可见的显存容量。此参数同 ALIYUN_COM_GPU_MEM_DEV一起设定cGPU内可见的显存大小。如在一张4G显存的显卡上 我们可以通 过-e ALIYUN_COM_GPU_MEM_DEV4 -e ALIYUN_COM_GPU_MEM_CONTAINER1 的参数为容器分配1G显存。如果不指定此参数则cGPU不会启动此时会默认使用NVIDIA容器。 • ALIYUN_COM_GPU_VISIBLE_DEVICES为正整数或uuid指定容器内可见的GPU设备。如在一个有4张显卡的机器上我们可以通过-e ALIYUN_COM_GPU_VISIBLE_DEVICES0,1来为容器分配第一和第二张显卡。或是-e ALIYUN_COM_GPU_VISIBLE_DEVICESuuid1,uuid2,uuid3为容器分配uuid为uuid1uuid2uuid3z的3张显卡。 • CGPU_DISABLE总开关用于禁用cGPU。可以接受的参数是-e CGPU_DISABLEtrue或-e CGPU_DISABLE1此时cGPU将会被禁用默认使用nvidia容器。 • ALIYUN_COM_GPU_SCHD_WEIGHT 为正整数有效值是1 - min(max_inst 16)用来设定容器的算力权重。 c 运行演示 以GN6i 单卡T4 为例实现2个容器共享使用1个显卡。执行如下命令分别创建2个docker 服务设置显存分别为6G和8G。 docker run -d -t --gpus all --privileged --name gpu_test1 -e ALIYUN_COM_GPU_MEM_CONTAINER6 -e ALIYUN_COM_GPU_MEM_DEV15 nvcr.io/nvidia/tensorflow:19.10-py3 docker run -d -t --gpus all --privileged --name gpu_test2 -e ALIYUN_COM_GPU_MEM_CONTAINER8 -e ALIYUN_COM_GPU_MEM_DEV15 nvcr.io/nvidia/tensorflow:19.10-py3 如下图进入Dockergpu_test1 后执行nvidia-smi 命令可以看到T4显卡的总内存为6043M 如下图进入Dockergpu_test2 后执行nvidia-smi 命令可以看到T4显卡的总内存为8618M。 之后就可以在每个容器内运行GPU训练或者推理的任务了。 性能分析 在使用过程中用户经常关心的就是性能问题cGPU容器方案会对性能有多少影响呢下面是我们的一组测试数据在常用的tensorflow框架下用benchmark工具分别测试了模型推理和训练性能。 以下数据的测试机为阿里云上的GPU型实例具有8核CPU32G内存以及一张带有16G显存的NVIDIA T4显卡。测试数据为单次测试结果因此可能会带有误差。 1 单cGPU容器 VS 单GPU直通性能比较 我们分别在cGPU容器内部以及标准的Docker容器内部跑测试为cGPU容器内的GPU实例分配所有的显存和算力来显示在不共享GPU的情况下的cGPU是否有性能损失。 下图是ResNet50训练测试在不同精度和batch_size下的性能比较绿色柱表示标准的容器性能橙色柱表示cGPU容器内的性能可以看到在不同的情况下cGPU容器实例都几乎没有性能损失。 图2. 单容器独占GPU--Resnet50 训练结果对比 下图是ResNet50推理测试在不同精度和batch_size下的性能比较同样的在不同的情况下cGPU容器实例都几乎没有性能损失。 图3. 单容器独占GPU--Resnet50 推理结果对比 2 cGPU容器 VS MPS容器GPU共享性能比较 如前文所述标准的Docker容器不支持共享为了测试多容器共享单个GPU的性能我们采用了MPS容器作为基准来进行性能比较。同样的我们采用了ResNet50的训练和推理benchmark作为测试用例分别用两个cGPU容器和两个MPS容器共享一个GPU硬件。 下图是ResNet50训练测试在不同batch_size下的性能比较绿色柱表示两个MPS容器性能跑分的总和橙色柱表示两个cGPU容器跑分的总和可以看到cGPU容器实例对比MPS容器几乎没有性能损失在大的batch_size的情况下甚至跑分高于MPS容器。 图4. 多容器共享GPU--Resnet50训练结果对比 下图是ResNet50推理测试在不同batch_size下的性能比较MPS容器和cGPU容器的性能差距不大基本都在误差范围之内。 图5. 多容器共享GPU--Resnet50推理结果对比 总结 阿里云cGPU容器技术作为业内首创的基于内核虚拟GPU隔离的GPU共享容器方案在保证性能的前提下做到了容器之间的GPU显存隔离和任务隔离为客户充分利用GPU硬件资源进行训练和推理提供的有效保障。 同时 cGPU方案具有多种输出方式客户既可以选择阿里云GPU容器服务简单便捷的实现GPU容器服务的共享、调度和监控又可以选择在阿里云ECS GPU实例上进行手动安装配置灵活可控方便的和已有GPU容器进行整合。 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.yutouwan.com/news/405131/

相关文章:

  • 骄阳房地产网站wordpress 任意下载
  • 惠州网站建设公司哪家好中国建设银行网站首页企业网银
  • 网站开发竞争对手分析做一个简单的管理系统
  • 网站关键词最多几个wordpress兼容mip
  • vps搭建个人网站最好的网站建设机构
  • 福州定制网站开发石家庄手机网站开发
  • 川畅联系 做网站多少钱wamp wordpress安装教程
  • 德州网站建设德州北京做网站多少钱
  • 东光县建设局网站西安旅游攻略自助游
  • 企业顺德网站建设网站源码搭建教程
  • 做网站首页多少钱WordPress修改笔记
  • 重庆网站建设eyouc农资网络销售平台
  • html5网站建设微信运营公司织梦模板app制作开发报价
  • 注册域名建设网站千灯网站建设
  • 什么是外包公司?优化培训课程
  • 长沙微信公众号开发外贸seo培训
  • 可以做砍价活动的网站wordpress 老版本
  • 电子商务模拟实训报告企业网站建设wordpress建站技巧
  • 麻涌镇网站建设手机网站模板设计软件
  • 代账公司杭州seo软件
  • 网站中链接怎么做的安装下载app
  • 网站正在紧急建设中设计师拥有的设计导航
  • 班级网站设计论文前端刚上班感觉工作做不了
  • 网页站点怎么命名百度网站地图制作
  • 购物网站建设流程岐山网站建设
  • 网站建设和网站备案的网站 ,能拿来做仿站吗
  • 西安电子商务网站建设昆明网站建设公司电话
  • 青岛开发区网站建设服务游戏推广一个月能拿多少钱
  • 怎么样自己开网站安康市有没有滴滴平台
  • 服务器密码能给做网站的吗免费手游代理平台