You've already forked FrameTour-RenderWorker
feat(gpu): 添加多显卡调度支持
- 新增 GPUDevice 数据类定义 GPU 设备信息 - 扩展 WorkerConfig 添加 gpu_devices 配置项 - 从环境变量 GPU_DEVICES 读取多显卡设备配置 - 实现 GPUScheduler 提供轮询调度功能 - 修改 FFmpeg 参数生成支持设备指定 - 添加线程本地存储管理当前 GPU 设备 - 更新任务执行器集成 GPU 设备分配 - 实现 GPU 设备自动检测和验证功能 - 添加相关日志记录和状态监控
This commit is contained in:
31
domain/gpu.py
Normal file
31
domain/gpu.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
GPU 设备模型
|
||||
|
||||
定义 GPU 设备的数据结构。
|
||||
"""
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class GPUDevice:
|
||||
"""
|
||||
GPU 设备信息
|
||||
|
||||
Attributes:
|
||||
index: 设备索引(对应 nvidia-smi 中的 GPU ID)
|
||||
name: 设备名称(如 "NVIDIA GeForce RTX 3090")
|
||||
memory_total: 显存总量(MB),可选
|
||||
available: 设备是否可用
|
||||
"""
|
||||
index: int
|
||||
name: str
|
||||
memory_total: Optional[int] = None
|
||||
available: bool = True
|
||||
|
||||
def __str__(self) -> str:
|
||||
status = "available" if self.available else "unavailable"
|
||||
mem_info = f", {self.memory_total}MB" if self.memory_total else ""
|
||||
return f"GPU[{self.index}]: {self.name}{mem_info} ({status})"
|
||||
Reference in New Issue
Block a user