GPU锁频的方法以及pytorch验证测试代码

gpu在电源功率不足,温度过高或者在长期高负载或者是驱动程序影响的情况下会降频,那么我们可以通过锁频来固定gpu的频率,当然这种方式也不能解决高温和电源功率不足的问题,我们这里只是了解下如何锁频,操作比较简单。

我们首先通过以下命令查看gpu最高频率

nvidia-smi -q -d clock

202506200904294552980708.png

我们看Graphics和memory这两行频率,可以直接进行锁频,命令语法如下:

nvidia-smi -ac <MEM clock, Graphics clock>

我们直接执行以下命令就可以进行锁频了。

nvidia-smi -lgc 9751,2100

我们可以使用以下pytorch代码进行验证测试

import torch
from torch.utils import benchmark

typ = torch.float16
n = 1024 * 16
a = torch.randn(n, n).type(typ).cuda()
b = torch.randn(n, n).type(typ).cuda()

t = benchmark.Timer(
      stmt='a @ b',
      globals={'a': a, 'b': b})

x = t.timeit(50)
print(2*n**3 / x.median /1e12)

测试不同的精度可以直接修改typ的值即可

TF16: typ = torch.float16TF32: typ = torch.float32FP64: typ = torch.float64FP32: typ = torch.float32FP16: typ = torch.float16

还有其他精度请自行修改测试,文章来源:https://www.zhihu.com/question/274259873/answer/2769345853

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1060

评论列表