GPU的使用说明

本文介绍了如何在深度学习中利用GPU进行计算,包括查看GPU信息、指定计算设备、存储张量到GPU以及神经网络模型在GPU上的运行。强调了数据和计算应在同一设备上进行以避免性能下降,并提醒注意数据移动的潜在影响。

GPU的使用说明

查看显卡信息

!nvidia-smi

计算设备

import tensorflow as tf

tf.device('/CPU:0'), tf.device('/GPU:0'), tf.device('/GPU:1')

查询GPU数量

len(tf.config.experimental.list_physical_devices('GPU'))

张量与GPU
我们可以查询张量所在的设备。 默认情况下,张量是在CPU上创建的。

x = tf.constant([1, 2, 3])
x.device

存储在GPU上
我们需要确保不创建超过GPU显存限制的数据。

with try_gpu():
    X = tf.ones((2, 3))

假设你至少有两个GPU,下面的代码将在第二个GPU上创建一个随机张量。

with try_gpu(1):
    Y = tf.random.uniform((2, 3))

复制

with try_gpu(1):
    Z = X
print(X)
print(Z)

现在数据在同一个GPU上(Z和Y都在),我们可以将它们相加。

假设变量Z已经存在于第二个GPU上。 如果我们仍然在同一个设备作用域下调用Z2 = Z会发生什么? 它将返回Z,而不会复制并分配新内存。

with try_gpu(1):
    Z2 = Z
    
Z2 is Z
#True

神经网络与GPU
类似地,神经网络模型可以指定设备。 下面的代码将模型参数放在GPU上。

strategy = tf.distribute.MirroredStrategy()
with strategy.scope():
    net = tf.keras.models.Sequential([
        tf.keras.layers.Dense(1)])

当输入为GPU上的张量时,模型将在同一GPU上计算结果。

net(X)

让我们确认模型参数存储在同一个GPU上。

net.layers[0].weights[0].device, net.layers[0].weights[1].device

所有的数据和参数都在同一个设备上, 我们就可以有效地学习模型

小结

  • 我们可以指定用于存储和计算的设备,例如CPU或GPU。默认情况下,数据在主内存中创建,然后使用CPU进行计算。

  • 深度学习框架要求计算的所有输入数据都在同一设备上,无论是CPU还是GPU。

  • 不经意地移动数据可能会显著降低性能。一个典型的错误如下:计算GPU上每个小批量的损失,并在命令行中将其报告给用户(或将其记录在NumPy ndarray中)时,将触发全局解释器锁,从而使所有GPU阻塞。最好是为GPU内部的日志分配内存,并且只移动较大的日志。

1 页 Edit by Joson https://www.baidu.com/p/happy_Joson Stree_GPU 压力测试 一、测试介绍 常搞服务器测试的,会有很多测试工具,比如测试硬盘的 iometer,网络测 试的有 IxChariot,IPfer,测试内存的有 stree,整机压力测试 HPC_Breakin 等,但 整机测试 GPU 或是显卡的工具就比较少,专业的测试是必须要有的。 很多个人或是公司买了 GPU 服务器,显卡回来,安装上去后,不知道如 何整机测试,怎么压力测试,怎么检测是否有问题,做开发设计的怎么测试主板 是否有 bug,整机散热调优方案,功耗测试等,通过使使用 stree_GPU 工具,可 以使 GPU/显卡发挥 90%以上的性能,从而发现存在的隐患。 直接介绍一套简单的测试工具 Stree_GPU, 适合在 windows 7,win8,win10,2008 R2 等 windows 系统下测试的。 2 页 Edit by Joson https://www.baidu.com/p/happy_Joson 1、 准备工作环境 你的机器安装上显卡/GPU 卡后,然后再安装上述的操作系统,机器需要连外 网才能使用 Stree_GPU 测试。但它不占用外网资源。 2、安装驱动 这个不用我说了,你电脑上驱动都要安装,GPU/显卡一般是基于 NVIDIA 芯 片开发的,驱动一般直接到它官网上下载,或是安装个驱动人生,然后让它帮你 全部安装完驱动,省事^_^ 二、 测试工具使用介绍 1、Stree_GPU 工具使用介绍,此 stree_GPU 软件适用 windows 系统下 GPU/显卡专业测试工具 stree_GPU 测试工具下载: https://pan.baidu.com/s/1PnxbcIQvM9Y4YtVude7WNg 2、首先你的机器在 windows 下环境配置好,即显卡驱动要安装上,可以在 NVIDIA 官网下载 cuda 程序安装,能识别到你的显卡并能调休; 3、确保你测试的机器连通外网,因为测试时要模拟卡的压力(算力) ; 4、把 Stree_GPU 程序解压后拷贝到如 c 盘根目录下,路径不要有中文; 5、解压后在 Stree_GPU 目录里,右键以管理员权限运行 stree_GPU.bat 注意观察,如果执行之后屏幕上没有提示错误提示,没有红色的提示,则表示 开始跑起来了,过一会才会有结果,比如会提示有 GPU0:xxxMh/s,这里只要有 数字出现就表示成功了,如果有多张卡,这里会列出来有 GPU0,GPU1…..。如下 3 页 Edit by Joson https://www.baidu.com/p/happy_Joson 图所示 机器测试压力程序已经跑起来了,那么就可以在功耗仪上读取电压,电流,功耗 数值,如下图所示。 同时可以通过 BMC 管理界面,或是第三方的一些软件,可以监控到机器的各个 部件温度曲线的变化。测试时间越长,如果曲线波动不大,说明机器散热良好。 4 页 Edit by Joson https://www.baidu.com/p/happy_Joson 注意事项: 因为压力测试,注意机器的散热。风扇调全速转。机器跑起来了,此时可以测试 整机的功耗,散热、主板的供电,整机供电等等,一般测试时长 24H,这样可以 检验整机及部件稳定性等。这是最简单但最有效果的测试 GPU/显卡方案。 另外需要注意的是,机器要保持连接外网,并且测试过程不要断开网络,否则测 试不能进行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值