由于GPU资源在大部分时间会被较多人使用,而部分时间可能较少人或者没有人使用,这样就会在一定程度上造成GPU资源的浪费,因此出于这个目的写了GPU资源的排队脚本,这里主要是针对多个GPU资源来实现的:
参考:https://blog.csdn.net/leviopku/article/details/102958166
代码如下:
下面展示一些。
import os
import sys
import time
cmd = 'python xxx.py(py文件名)'
def get_info():
gpu_memory_list = []
gpu_status = os.popen('nvidia-smi | grep %').readlines()
for list_ in gpu_status:
list_ = list_.split('|')
gpu_memory = int(list_[2].split('/')[0].split('M')[0].strip())
gpu_memory_list.append(gpu_memory)
# 主要是针对memory操作,如果对power需要操作的话同理
# gpu_power = int(list_[1].split(' ')[-1].split('/')[0].split('W')[0].strip())
return gpu_memory_list
def setup_python(interval=1):
gpu_memory_list = get_info()
i = 0
while(i!=7):
if gpu_memory_list[i] <= 2000: # 设置条件,满足则运行python程序
if i==0 or i==5 or