① 普通计算机和大型服务器的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,
② linux服务器如何查看GPU信息
Linux查看显卡信息:
[python]view plain
lspci|grep-ivga
使用nvidia GPU可以:
[python]view plain
lspci|grep-invidia
表头释义:
Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示;
Bus-Id:涉及GPU总线的相关信息;
Disp.A:是Display Active的意思,表示GPU的显示是否初始化;
Memory Usage:显存的使用率;
Volatile GPU-Util:浮动的GPU利用率;
Compute M:计算模式;
下边的Processes显示每块GPU上每个进程所使用的显存情况。
如果要周期性的输出显卡的使用情况,可以用watch指令实现:
[python]view plain
watch-n10nvidia-smi
命令行参数-n后边跟的是执行命令的周期,以s为单位。
③ 如何看自己的服务器里面有没有装显卡
打开设备管理器,选择‘显示适配器’,即可看到已安装的显卡列表。
或者网络‘GPUZ’,下载安装,打开GPUZ即可查看已安装显卡的详细信息。
④ c++ linux 如何获取显卡的数量
可以使用shell命令lspci。lspci就是显示所有的pci设备信息,pci是一种总线,而通过pci总线连接的设备就是pci设备。我们只需要在PCI总线里面把显示设备找出来就可以。
linux的shell命令可以查看显卡:
lspci|grepVGA
如果出现命令没有找到的提示,可以如下操作:
检查一下:
yumwhatprovides*/lspci
安装:
yuminstallpciutils
最后再次使用lspci命令
lspci|grepVGA|wc-l
⑤ 在linux 下怎么查看服务器的cpu和内存的硬件信息
可以按照如下方式进行操作:
一、查看cpu总个数方法:
1、首先执行top命令,如下图中内容所表示。
linux通用命令:
1、date :print or set the system date and time
2、stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)
3、passwd: print or set the system date and time (用passwd -h查看)
4、logout, login: 登录shell的登录和注销命令
5、pwd: print working directory
6、more, less, head tail: 显示或部分显示文件内容.
7、lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
8、更改文件权限: chmod u+x...
9、删除非空目录:rm -fr dir
10、拷贝目录: cp -R dir
⑥ Linux服务器如何查看GPU信息
Linux查看显卡信息:
[python] view
plain
lspci | grep -i vga
使用nvidia
GPU可以:
[python] view
plain
lspci | grep -i nvidia
前边的序号
"00:0f.0"是显卡的代号(这里是用的虚拟机);
查看指定显卡的详细信息用以下指令:
[python] view
plain
lspci -v -s 00:0f.0
Linux查看Nvidia显卡信息及使用情况
Nvidia自带一个命令行工具可以查看显存的使用情况:
[python] view
plain
nvidia-smi
表头释义:
Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示;
Bus-Id:涉及GPU总线的相关信息;
Disp.A:是Display
Active的意思,表示GPU的显示是否初始化;
Memory
Usage:显存的使用率;
Volatile
GPU-Util:浮动的GPU利用率;
Compute
M:计算模式;
下边的Processes显示每块GPU上每个进程所使用的显存情况。
如果要周期性的输出显卡的使用情况,可以用watch指令实现:
[python] view
plain
watch -n 10 nvidia-smi
命令行参数-n后边跟的是执行命令的周期,以s为单位。
⑦ 如何查看linux服务器是否有gpu
如果要图形化界面到话,先安装hardinfo ,在终端输入 sudo spt-get install hardinfo
否则可以直接在终端输入lspci查看
可看到显卡信息和cpu,gpu信息。
再去官网或linux论坛,下载对应显卡驱动,就可以得到完整信息并提升显卡发挥的性能
⑧ Linux下如何查看NVIDIA显卡信息
1、首先在ubuntu系统中按Ctrl+Alt+T快捷键打开命令输入框,输入“gnome-terminal”命令,然后按回车键即可打开终端:
⑨ GPU服务器是如何划分计算型与图像型
一个刀片上面有10个披萨x1的接口,通过usb线可以与10个显卡连接,就是你说的GPU服务器了。不如用一个好主板,上面有几个x16或者x8的披萨加上几个x1的,能实现多卡交火,至于你能干什么我不知道,用软件跑分在网上晒的太多了,见过几百万分的显卡跑分,纯粹跑的是钱,你用6块1070/80钛就应该行。安装挖矿软件就是计算型,安装游戏就是图像型。