PaddleOCR-VL-1.6_Demo/gpu/verify_env.py

54 lines
1.5 KiB
Python

"""只检查 GPU Paddle 环境,不加载 OCR 模型。"""
import sys
def main() -> int:
try:
import paddle
except ImportError:
print("[ERROR] 未安装 PaddlePaddle GPU。请先运行 setup_env.py。")
return 1
print(f"Python: {sys.version.split()[0]}")
print(f"PaddlePaddle: {paddle.__version__}")
print(f"CUDA build: {paddle.is_compiled_with_cuda()}")
if not paddle.is_compiled_with_cuda():
print("[ERROR] 当前安装的 PaddlePaddle 不是 CUDA 版本。")
return 2
try:
device_count = paddle.device.cuda.device_count()
except Exception as exc:
print(f"[ERROR] 无法查询 CUDA 设备: {exc}")
return 3
print(f"CUDA device count: {device_count}")
if device_count < 1:
print("[ERROR] 未检测到可用的 NVIDIA CUDA GPU。")
return 4
for device_id in range(device_count):
try:
name = paddle.device.cuda.get_device_name(device_id)
except Exception:
name = "unknown"
print(f"GPU {device_id}: {name}")
try:
paddle.set_device("gpu:0")
tensor = paddle.ones([1024, 1024], dtype="float32")
result = paddle.matmul(tensor, tensor)
paddle.device.cuda.synchronize()
print(f"CUDA smoke test: OK, result shape={list(result.shape)}")
except Exception as exc:
print(f"[ERROR] CUDA 计算测试失败: {exc}")
return 5
return 0
if __name__ == "__main__":
raise SystemExit(main())