gpu统计示例

38 篇文章 1 订阅
import GPUtil as GPU
import time
import numpy as np
from visdom import Visdom

class GPU_stati():
   def  __init__(self,time_gaps=1,time_sample=60):
       self.GPU_num =len(GPU.getGPUs())
       self.gpus_Util = np.zeros(self.GPU_num)
       self.gpus = GPU.getGPUs()
       self.tgs = time_gaps
       self.tsample = time_sample

   def compute_util(self):

       self.gpus_Util = np.zeros(self.GPU_num)
       #gpu0_Util = 0
       #gpu1_Util = 0
       i_th =0
       #time_gap =0.99
       #time_sample =60
       while(1):
           self.gpus = GPU.getGPUs()

           for i in range(self.GPU_num):
               self.gpus_Util[i] += self.gpus[i].load

           time.sleep(self.tgs)
           i_th +=self.tgs
           if i_th >=self.tsample:
               break
       for i in range(self.GPU_num):

           self.gpus_Util[i] =  self.gpus_Util[i]/self.tsample

       return self.gpus_Util


#main
gpus = GPU_stati()
minute = 0


'''
viz = Visdom(env='gpu_utili')

x0_name = GPU.getGPUs()[0].name+'id_'+str(GPU.getGPUs()[0].id)

x1_name = GPU.getGPUs()[1].name+'id_'+str (GPU.getGPUs()[1].id)
viz.line([[0.,0.]],[0.],win='gpu_utilization',opts=dict(title='gpu_utilization',legend=[x0_name,x1_name]))
'''



while(1):
    gpus = GPU_stati(time_gaps=1,time_sample=1800)
    x=gpus.compute_util()
    localtime = time.asctime( time.localtime(time.time()) )
    print ("\n本地时间为 :", localtime)
    for i in range(len(x)):
        name = GPU.getGPUs()[i].name+'id_'+str(GPU.getGPUs()[i].id)
        print(name+': ','{:.2f}%'.format(x[i]*100))
~                                                                                                                                                                                                                                              
~                                                     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值