gpu服务器搭建
‘壹’ 普通计算机和大型服务器的GPU温度测量原理(硬件)
深度学习GPU工作站/服务器硬件配置方案
I
市场上用于深度学习训练计算机大致情况如下:
(1)服务器/工作站(支持2、4、8块GPU架构):普遍存在噪音大,无法放置于办公环境,必须放到专门的机房,维护成本高,另外数据存储带宽、延迟、容量也不尽如意。
(2)分布式集群架构:性能强大,但是开发成本太高(太贵),是大多数科研单位及个人无法承受。
(3)组装电脑:这类特点是价格便宜,但是在散热和功率方面依然是普通家用/游戏电脑标准,稳定性巨差。
(4)大部分GPU计算机(服务器/工作站):重点都放在GPU卡数量上,似乎只要配上足够GPU卡,就可以了。
然而,机器硬件配置还需要整体均衡,不同的学习框架更需要不同GPU卡去适配。
主流学习框架
主流框架加速效能
上图是不同的DL框架加速效能(NVIDIA GP100为例),不同的框架并不是GPU越多效能就越高。
深度学习计算密集,所以需要一个快速多核CPU,对吧?!
听说深度学习有很多显卡就可以了,一个高速CPU可能是种浪费?!
搭建一个深度学习系统时,最糟糕的事情之一就是把钱浪费在并非必需的硬件上。
一个高性能且经济的深度学习系统所需的硬件到底要如何配置?!
一. 深度学习计算特点与硬件配置分析:
深度学习计算特点
1.数据存储要求
在一些深度学习案例中,数据存储会成为明显的瓶颈。做深度学习首先需要一个好的存储系统,将历史资料保存起来。
主要任务:历史数据存储,如:文字、图像、声音、视频、数据库等。
数据容量:提供足够高的存储能力。
读写带宽:多硬盘并行读写架构提高数据读写带宽。
接口:高带宽,同时延迟低。
传统解决方式:专门的存储服务器,借助万兆端口访问。
缺点:带宽不高,对深度学习的数据读取过程时间长(延迟大,两台机器之间数据交换),成本还巨高。
UltraLA解决方案:
将并行存储直接通过PCIe接口,提供最大16个硬盘的并行读取,数据量大并行读取要求高,无论是总线还是硬盘并行带宽,都得到加大提升,满足海量数据密集I/O请求和计算需要。
2. CPU要求
如今深度学习CPU似乎不那么重要了,因为我们都在用GPU,为了能够明智地选择CPU我们首先需要理解CPU,以及它是如何与深度学习相关联的,CPU能为深度学习做什么呢?当你在GPU上跑深度网络时,CPU进行的计算很少,但是CPU仍然需要处理以下事情:
(1)数据从存储系统调入到内存的解压计算。
(2)GPU计算前的数据预处理。
(3)在代码中写入并读取变量,执行指令如函数调用,创建小批量数据,启动到GPU的数据传输。
(4)GPU多卡并行计算前,每个核负责一块卡的所需要的数据并行切分处理和控制。
(5)增值几个变量、评估几个布尔表达式、在GPU或在编程里面调用几个函数——所有这些会取决于CPU核的频率,此时唯有提升CPU频率。
传统解决方式:CPU规格很随意,核数和频率没有任何要求。
UltraLA解决方案:
CPU频率尽量高
CPU三级缓存尽量大(有必要科普一下CPU缓存)
“这是个经常被忽视的问题,但是通常来说,它在整个性能问题中是非常重要的一部分。CPU缓存是容量非常小的直接位于CPU芯片上的存储,物理位置非常接近CPU,能够用来进行高速计算和操作。CPU通常有缓存分级,从小型高速缓存(L1,L2)到低速大型缓存(L3,L4)。作为一个程序员,你可以将它想成一个哈希表,每条数据都是一个键值对(key-value-pair),可以高速的基于特定键进行查找:如果找到,就可以在缓存得值中进行快速读取和写入操作;如果没有找到(被称为缓存未命中),CPU需要等待RAM赶上,之后再从内存进行读值——一个非常缓慢的过程。重复的缓存未命中会导致性能的大幅下降。有效的CPU缓存方案与架构对于CPU性能来说非常关键。深度学习代码部分——如变量与函数调用会从缓存中直接受益。”
CPU核数:比GPU卡数量大(原则:1核对应1卡,核数要有至少2个冗余)。
3. GPU要求
如果你正在构建或升级你的深度学习系统,你最关心的应该也是GPU。GPU正是深度学习应用的核心要素——计算性能提升上,收获巨大。
主要任务:承担深度学习的数据建模计算、运行复杂算法。
传统架构:提供1~8块GPU。
UltraLA解决方案:
数据带宽:PCIe8x 3.0以上。
数据容量:显存大小很关键。
深度学习框架匹配:CPU核-GPU卡 1对1。
GPU卡加速:多卡提升并行处理效率。
4.内存要求
至少要和你的GPU显存存大小相同的内存。当然你也能用更小的内存工作,但是,你或许需要一步步转移数据。总而言之,如果钱够,而且需要做很多预处理,就不必在内存瓶颈上兜转,浪费时间。
主要任务:存放预处理的数据,待GPU读取处理,中间结果存放。
UltraLA解决方案:
数据带宽最大化:单Xeon E5v4 4通道内存,双XeonE5v4 8通道内存,内存带宽最大化。
内存容量合理化:大于GPU总显存。
说了那么多,到底该如何配置深度学习工作站,下面是干货来袭~
二. 深度学习工作站介绍与配置推荐
1. UltraLABGX370i-科研型
UltraLAB GX370i-科研型
硬件架构:4核4.7GHz~5.0GHz+4块GPU+64GB内存+4块硬盘(最大)
机器特点:高性价比,最快预处理和GPU超算架构
数据规模:小规模
2. UltraLABGX490i-高效型
硬件架构:配置10核4.5GHz+4块GPU+128GB+4块硬盘(最大)
机器特点:较GX360i,CPU核数和内存容量提升
数据规模:中小规模
UltraLAB GX490i基准配置
3. UltraLABGX490M-高性能型
硬件架构:配置6核4.5GHz/8核4.3GHz/10核4.3GHz+最大7块GPU+256GB+20盘位并行存储
机器特点:GPU数量支持到7块,支持海量数据并行存储
数据规模:中大规模
4. UltraLABGX620M-超级型
UltraLAB GX620M
硬件架构:双Xeon可扩展处理器(最大56核,最高3.8GHz)+最大9块GPU+20盘位并行存
机器特点:目前最强大的CPU+GPU异构计算
数据规模:建模与仿真计算、高性能科学计算、机器/深度学习
UltraLAB GX620M基准配置
UltraLAB深度学习工作站特点:
(1)种类丰富: GX370i(1C4G), GX490i(1C4G) --科研型,GX490M(1C7G)、GX620M(2C9G)--超级型。
(2)性能特点:超高频+多GPU+海量高速存储+静音级=最完美强大DL硬件平台。
(3)应用平台:完美支持TensorFlow,Caffe,Torch,DIGITS,
‘贰’ 如何选择合适的服务器
肯定是根据自身的实际情况选择
‘叁’ cuda error out of memory 怎么解决
今天刚把服务器搭建起来 结果程序就跑不起来 当时差点把自己吓尿了
错误类型:CUDA_ERROE_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
W ./tensorflow/core/common_runtime/gpu/pool_allocator.h:195] could not allocate pinned host memory of size: 17179869184
Killed
其实很容易理解 大致意思就是 服务器的GPU大小为M
tensorflow只能申请N(N<M)
也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了
解决方法:
找到代码中Session
在session定义前 增加
config = tf.ConfigProto(allow_soft_placement=True)
#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
这样就没问题了
其实tensorflow 算是一个比较贪心的工具了
就算用device_id指定gpu 也会占用别的GPU的显存资源 必须在执行程序前
执行 export CUDA_VISIBLE_DEVICES=n(n为可见的服务器编号)
再去执行Python 代码.py 才不会占用别的GPU资源
最近刚开始搞tensorflow 之前都是caffe
这周连续3天被实验室的人 举报 占用过多服务器资源 真是心累 只要用上面的方法
也就是执行代码前 执行 export CUDA_VISIBLE_DEVICES=n
只让1个或者个别GPU可见 其他GPU看不见 就行了
‘肆’ 深圳买AI服务器哪里比较方便
AI服务器与普通的GPU服务器虽然组成上类似,核心计算部件都是GPU加速卡,但是不可等同,主要有以下几点区别:
1)卡的数量不一致:普通的GPU服务器一般是单卡或者双卡,AI服务器需要承担大量的计算,一般配置四块GPU卡以上,甚至要搭建AI服务器集群。
2)P2P通讯:普通GPU服务器要求的是单卡性能,AI训练中GPU卡间需要大量的参数通信,模型越复杂,通信量越大,所以AI服务器除了要求单卡性能外,还要求多卡间的通讯性能,采用PCI3.0协议通信的最大P2P带宽达到32GB/s,采用SXM2协议通信的最大P2P带宽达到50GB/s,采用SXM3协议通信的最大P2P带宽达到300GB/s。
3)独特设计:AI服务器由于有了多个GPU卡,需要针对性的对于系统结构、散热、拓扑等做专门的设计,才能满足AI服务器长期稳定运行的要求。
4)先进技术:AI服务器有很多更先进的技术,包括Purley平台更大内存带宽,NVlink提供更大的互联带宽,TensorCore提供更强的AI计算力。
AI服务器的诞生是由于浪潮对于AI行业和应用的深刻理解。浪潮开发的面向开发人员和运维人员的深度学习管理平台AIStation,多机多卡的深度学习框架Caffe-MPI,辅助调优工具Teye等软实力与硬件研发的硬实力耦合,相互促进,更好地发挥AI服务器的性能,从而为客户提供完整端到端的解决方案。
‘伍’ 怎么选择服务器配置
看需求了,要看网站的规模,网站的日均流量等等来选择的,如果是前期的小站,或者流量不会集中很高的企业站,就不需要很高配置的服务器了,一般1核2g 1m的就够用。
尝试根据下面四个问题来评估自己的需求:
1. 服务器运行什么应用?
2. 需要支持多少用户访问?
3. 需要多大空间来存储数据?
4. 我的业务有多重要?
首先得弄明白自己租用服务器用来干什么放网站、应用运行或者是用来搭建局域网和放置游戏等,都有一个自己的用途,弄明白用服务器是用来干嘛的,就可以很明确的知道自己需要的是哪种类型的服务器
2.服务器的价格
服务器的价格呢主要是看服务器的配置,例如高防服务器,每个人对高防服务器的需求不同价格也会不同比如有的需要防御值更高的有的需要带宽很大的还有的对CPU以及硬盘有要求,所以在选择服务器的时候要明白自己需要哪种配置,然后再根据配置决定自己的价格预算
3.服务器商的选择
现在国内服务器商现在有很多,在选择服务器商的时候也要认真辨别,现在有的小服务器上用虚拟主机冒充独立主机但是价格呢却是按照独立主机的价格收,如果是需要租赁独立主机那么久一定要辨别清楚了,因为这两者差异还是比较大的
4.售后服务
再选择好服务器租赁商后还要考虑是否能提供7*24小时的售后技术支持,如果不能提供24小时的售后技术支持的话那么就要慎重考虑了,因为服务器在运行中谁都不能保证会不会出问题,如果使用期间出了问题服务器商必须能及时处理,这样才能保证不会给自己造成太大损失。
从你的需求来看,国内选择那几个比较大的商家合适,至于名字和具体配置选择也是一门学问,老魏会帮助你提供参考意见。
‘陆’ GPU服务器与传统服务器的区别
建议用高配E5-2670 16线程32G内存 240G固态硬盘 赠送100G真实防御,G口接入20M独享带宽真实三线BGP,一共才六百元每月,稳定好用,24小时人工售后,随时开机测试,+8067-57588
‘柒’ 做深度学习的服务器需要哪些配置
要做一个深度学习的服务器,需要的配置有GPU RAM, 储存器,因为GPU是在我做深度学习服务器里面一个非常重要的部分,相当于是一个心脏,是非常核心的一个服务器,所以GPU是一个非常重要的东西,储存器也是相当重要的,因为很多数据都要放在ssd储存器上。
‘捌’ 如何使用gpu服务器和个人电脑连接
远程PLC通讯需要以下条件1,一般使用VPN----虚拟专用网络(VirtualPrivateNetwork),搭建这个平台的方式有很多,可以参考以下带VPN功能的路由器或搭建服务器;2,把PLC通讯方式转成以太网,串口PLC需要配以太网通讯模块;3,远程电脑和设备电脑都必须能连接外部英特网;4,必须申请一个固定IP或动态域名;搭建这个平台的成本是比较高,我曾经做过在深圳下载程序到济南现场的PLC;
‘玖’ 多Tesla显卡的图形工作站怎么如何搭建虚拟化服务器
搭建虚拟化服务器步骤:
1,I7不能组双路,双路只有 至强 E5系列。
2,GPU也要虚拟化,你的配置还需要加 GERD K1
3,软件是用VM,还是思杰。
‘拾’ 服务器可以提供哪些服务
以阿里云服务器为例,云服务器ECS具有广泛的应用场景,既可以作为Web服务器或者应用服务器单独使用,又可以与其他阿里云服务集成提供丰富的解决方案。
企业官网或轻量的Web应用
网站初始阶段访问量小,只需要一台低配置的云服务器ECS实例即可运行Apache或Nginx等Web应用程序、数据库、存储文件等。随着网站发展,您可以随时升级ECS实例的配置,或者增加ECS实例数量,无需担心低配计算单元在业务突增时带来的资源不足。
多媒体以及高并发应用或网站
云服务器ECS与对象存储OSS搭配,对象存储OSS承载静态图片、视频或者下载包,进而降低存储费用。同时配合内容分发网络CDN和负载均衡SLB,可大幅减少用户访问等待时间、降低网络带宽费用以及提高可用性。
高I/O要求数据库
支持承载高I/O要求的数据库,如OLTP类型数据库以及NoSQL类型数据库。您可以使用较高配置的I/O优化型云服务器ECS,同时采用ESSD云盘,可实现高I/O并发响应和更高的数据可靠性。您也可以使用多台中等偏下配置的I/O优化型ECS实例,搭配负载均衡SLB,建设高可用底层架构。
访问量波动剧烈的应用或网站
某些应用,如抢红包应用、优惠券发放应用、电商网站和票务网站,访问量可能会在短时间内产生巨大的波动。您可以配合使用弹性伸缩,自动化实现在请求高峰来临前增加ECS实例,并在进入请求低谷时减少ECS实例。满足访问量达到峰值时对资源的要求,同时降低了成本。如果搭配负载均衡SLB,您还可以实现高可用应用架构。
大数据及实时在线或离线分析
云服务器ECS提供了大数据类型实例规格族,支持Hadoop分布式计算、日志处理和大型数据仓库等业务场景。由于大数据类型实例规格采用了本地存储的架构,云服务器ECS在保证海量存储空间、高存储性能的前提下,可以为云端的Hadoop集群、Spark集群提供更高的网络性能。
机器学习和深度学习等AI应用
通过采用GPU计算型实例,您可以搭建基于TensorFlow框架等的AI应用。此外,GPU计算型还可以降低客户端的计算能力要求,适用于图形处理、云游戏云端实时渲染、AR/VR的云端实时渲染等瘦终端场景。
更多详情参考链接:阿里云服务器的应用场景及用途
如果有帮助的话,记得采纳哦!