You've already forked FrameTour-RenderWorker
feat(gpu): 添加 QSV 硬件加速支持
- 实现 QSV 设备初始化逻辑,支持 Intel 核显 - 区分 QSV 和 CUDA 设备初始化流程 - 添加 QSV 设备验证和配置处理 - 更新设备检测逻辑以支持不同硬件加速类型 - 实现 QSV 设备名称格式化和可用性设置
This commit is contained in:
@@ -61,11 +61,14 @@ class GPUScheduler:
|
|||||||
|
|
||||||
configured_devices = self._config.gpu_devices
|
configured_devices = self._config.gpu_devices
|
||||||
|
|
||||||
if configured_devices:
|
if self._config.hw_accel == HW_ACCEL_QSV:
|
||||||
# 使用配置指定的设备
|
# QSV 使用 Intel 核显,无 nvidia-smi,直接按配置或默认设备初始化
|
||||||
|
self._devices = self._init_qsv_devices(configured_devices)
|
||||||
|
elif configured_devices:
|
||||||
|
# CUDA:使用配置指定的设备并通过 nvidia-smi 验证
|
||||||
self._devices = self._validate_configured_devices(configured_devices)
|
self._devices = self._validate_configured_devices(configured_devices)
|
||||||
else:
|
else:
|
||||||
# 自动检测所有设备
|
# CUDA:自动检测所有 NVIDIA 设备
|
||||||
self._devices = self._auto_detect_devices()
|
self._devices = self._auto_detect_devices()
|
||||||
|
|
||||||
if self._devices:
|
if self._devices:
|
||||||
@@ -75,6 +78,25 @@ class GPUScheduler:
|
|||||||
else:
|
else:
|
||||||
logger.warning("No GPU devices available, scheduler disabled")
|
logger.warning("No GPU devices available, scheduler disabled")
|
||||||
|
|
||||||
|
def _init_qsv_devices(self, configured_indices: List[int]) -> List[GPUDevice]:
|
||||||
|
"""
|
||||||
|
初始化 QSV 设备列表
|
||||||
|
|
||||||
|
QSV 使用 Intel 核显,没有 nvidia-smi 可用于检测。
|
||||||
|
若配置了 GPU_DEVICES 则直接信任配置,否则使用默认设备 0。
|
||||||
|
|
||||||
|
Args:
|
||||||
|
configured_indices: 配置的设备索引列表(可为空)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
QSV 设备列表
|
||||||
|
"""
|
||||||
|
indices = configured_indices if configured_indices else [0]
|
||||||
|
return [
|
||||||
|
GPUDevice(index=idx, name=f"QSV-{idx}", available=True)
|
||||||
|
for idx in indices
|
||||||
|
]
|
||||||
|
|
||||||
def _validate_configured_devices(self, indices: List[int]) -> List[GPUDevice]:
|
def _validate_configured_devices(self, indices: List[int]) -> List[GPUDevice]:
|
||||||
"""
|
"""
|
||||||
验证配置的设备列表
|
验证配置的设备列表
|
||||||
|
|||||||
Reference in New Issue
Block a user