《AI安全之对抗样本入门》—2.10 GPU服务器

网友投稿 688 2022-05-29

2.10 GPU服务器

本书中会大量使用CNN、LSTM和MLP,这些计算量都非常巨大,尤其是CNN几乎就是CPU杀手。

目前在深度学习领域,主流的商用GPU型号是NVIDIA Tesla系列K40、M40以及M60,我们将对比这三款产品的关键性能参数,官方的参数对比如下:

M60拥有两个GM204核芯,每个GM204核芯拥有 2048 个计算单元,拥有8G显存,单精度浮点性能可达 4.85Tflops。

M40拥有一个GM200核芯,该核芯拥有3072个计算单元,拥有12G显存,单精度浮点性能可达 7Tflops。

K40 拥有一个GK110核芯,该核芯拥有2880个计算单元,拥有12G显存,单精度浮点性能可达4.29Tflops。

一个M40的计算能力约为一个M60云主机的1.44倍,但是价格却超过M60的2倍;而K40云主机的计算能力不如M60,却比M60贵,所以从计算能力来讲,M60性价比最高。

这里我介绍如何使用某公有云上的M60 GPU服务器,强烈建议在验证阶段使用按需付费的GPU服务器,最好是按小时计费,这种比较划算。

1. 选择主机

根据需要选择服务器CPU、内存和硬盘等配置,最关键还要选择GPU,通常Tesla M60足够我们使用了,如图2-14所示。

图2-14 选择主机

2. 其他设置

设置服务器名称以及登录密码,如图2-15所示。

图2-15 其他设置

3. 服务器概况

服务器安装完成后,界面显示使用了一块GPU Tesla M60,如图2-16和图2-17所示。

图2-16 服务器概况(一)

图2-17 服务器概况(二)

4. 运行测试程序

我们在GPU服务器上运行经典的使用CNN识别MNIST的例子,这个例子在我的Mac本上训练12轮需要花费将近2个小时。我们发现程序运行时加载了CUDA,它是在GPU上运行深度学习算法的基础:

[root@keras001 ~]# python keras-demo.py

Using TensorFlow backend.

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally

《AI安全之对抗样本入门》—2.10 GPU服务器

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally

然后我们继续观察,发现程序提示信息显示,加载了GPU Tesla M60,内存约8G:

I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:

name: Tesla M60

major: 5 minor: 2 memoryClockRate (GHz) 1.1775

pciBusID 0000:00:15.0

Total memory: 7.93GiB

Free memory: 7.86GiB

I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0

I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y

运行完整的程序大约需要3分钟,此速度完胜了我的Mac本。

5. 手工安装深度学习库

有时候需要根据软硬件环境自己选择安装对应的深度学习库,其中最重要的是看cuDNN和CUDA的版本,查看服务器的cuDNN和CUDA版本的方法为:

#CUDA 版本

cat /usr/local/cuda/version.txt

#cuDNN 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

#或者 cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

AI GPU加速云服务器

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Flutter 专题】65 图解基本 TextField 文本输入框 (二)
下一篇:【干货】DDM实践:数据库秒级平滑扩容方案
相关文章