1 Star 1 Fork 0

fanqiboy/multi_GPU_monitor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
gpu_client.py 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
tanchenwei 提交于 2024-12-26 16:43 . request更新 + flask file server
import time
import gpustat
import requests
import argparse
import os
import re
def get_mechineInfo():
return [{
'idx': i, 'temperature': card['temperature.gpu'],
'percent':card['utilization.gpu'], 'occupy':card['memory.used'],
'users': [
{'name': p['username'], 'occupy': p['gpu_memory_usage']}
for p in card['processes'] if p['gpu_memory_usage'] > 100
]}
for i, card in enumerate(gpustat.new_query().jsonify()['gpus'])
]
# get args name ip port
parser = argparse.ArgumentParser()
parser.add_argument('--name', type=str, default='default')
parser.add_argument('--ip', type=str, default=None)
parser.add_argument('--port', type=int, default=5000)
args = parser.parse_args()
def get_server_host_from_index():
current_path = os.path.dirname(os.path.abspath(__file__))
with open(f'{current_path}/index.html', 'r') as f:
content = f.read()
p = re.compile(r'http://(.*?):\d+/gpu')
match = p.search(content)
return match.group(1)
server_host = get_server_host_from_index() if args.ip is None else args.ip
url = f"http://{server_host}:{args.port}/gpu/{args.name}"
while True:
message = {
'name': args.name,
'gpuInfos': get_mechineInfo()
}
try:
requests.post(url, json=message)
except Exception as e:
print(e)
time.sleep(1)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
HTML
1
https://gitee.com/fanqiboy/multi-gpu-monitor.git
[email protected]:fanqiboy/multi-gpu-monitor.git
fanqiboy
multi-gpu-monitor
multi_GPU_monitor
master

搜索帮助