Files
rfcp/backend/app/api/routes/system.py

31 lines
807 B
Python

import multiprocessing as mp
from fastapi import APIRouter
router = APIRouter()
@router.get("/info")
async def get_system_info():
"""Return system info: CPU cores, GPU availability, parallel support."""
cpu_cores = mp.cpu_count() or 1
gpu_info = None
try:
import cupy as cp
if cp.cuda.runtime.getDeviceCount() > 0:
props = cp.cuda.runtime.getDeviceProperties(0)
gpu_info = {
"name": props["name"].decode(),
"memory_mb": props["totalGlobalMem"] // (1024 * 1024),
}
except Exception:
pass
return {
"cpu_cores": cpu_cores,
"parallel_workers": min(cpu_cores, 14),
"parallel_enabled": True,
"gpu": gpu_info,
"gpu_enabled": gpu_info is not None,
}