asdTools-自动搜索可用GPU

文章首发及后续更新:https://mwhls.top/4564.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

Github
Blog

摘要:自动获取可用 GPU 的工具介绍。

场景
  • 有十个实验要跑,但不想每次跑的时候都确认哪个GPU可用。
  • 又有十个实验要跑,但不想定时上号开实验,想让他有GPU时自动跑。
使用示例
  • 开源地址:asdTools/GPUMonitor.py at main
  • 在指定GPU的地方,调用本模块,并启动程序,实验将会等待直至本模块返回可用
from asdTools.Classes.AI.GPUMonitor import GPUMonitor

def SampleInChinese():
“”"
假设我有8张卡,我想获取4张卡,每张卡至少16G显存,并且我需要字符串格式的结果。
使用如下代码,将持续搜索可用GPU,每次搜索间隔不超过300秒。
搜索不到时,等待random(1, 300)秒后,再次搜索。
如果某次搜索发现 GPU 0, 1, 4, 5, 6, 7 空闲,则会返回"0,1,4,5",并结束搜索。
“”"
gpus_id = [0, 1, 2, 3, 4, 5, 6, 7]
# 方式1
monitor = GPUMonitor(capacity_thres=16, output_type=“str”, time_cooldown=300)
gpus_available = monitor(gpus_id, gpu_need=4)
# 方式2
gpus_available = GPUMonitor()(gpus_id, gpu_need=4, capacity_thres=16, output_type=“str”, time_cooldown=300)

"""
我想知道哪些实验正在等待GPU,则使用extra_info,为每次输出增加前缀。
我需要list类型的结果,则output_type="list"
2023-05-14 20:14:06: test_No available gpus, sleep 3.99s.
2023-05-14 20:14:10: test_No available gpus, sleep 2.51s.
2023-05-14 20:14:13: test_Find available gpus: [0, 1, 4, 5].
"""
gpus_available = monitor(gpus_id, gpu_need=4, extra_info="test", output_type="list")

if name == “main”:
SampleInChinese()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值