现在的问题本质(一句话)
机器是新架构显卡(Compute Capability 12.0),而你当前环境里的 Paddle 2.5.1 + CUDA 11.8 这个组合不支持这张卡的 GPU 计算,所以才疯狂报 cudnn64_8.dll / cublas64_118.dll 相关错误。之前电脑能跑,极大概率是显卡架构更老(比如 8.6/8.9)。
再加一条现实限制:你现在用的 PARL 2.2.1 固定了很多老依赖(比如 protobuf<=3.20.0、grpcio==1.37.0 等)。新版/夜版 Paddle(支持 CUDA 12.x、新显卡)通常需要 protobuf ≥5,这和 PARL 2.2.1 的约束冲突。所以:
想继续用 PARL 2.2.1 → 通常只能用 Paddle 2.x(老 CUDA,不支持你这张新卡的 GPU)。
想让 Paddle 在新卡上用 GPU → 大概率要用 Paddle 3.x(CUDA 12.x),但它又会和 PARL 2.2.1 的依赖打架。
这就是你“要 Paddle + 要 GPU + 还要 PARL 2.2.1”的三角矛盾。
现在的问题本质(一句话)
机器是新架构显卡(Compute Capability 12.0),而你当前环境里的 Paddle 2.5.1 + CUDA 11.8 这个组合不支持这张卡的 GPU 计算,所以才疯狂报 cudnn64_8.dll / cublas64_118.dll 相关错误。之前电脑能跑,极大概率是显卡架构更老(比如 8.6/8.9)。
再加一条现实限制:你现在用的 PARL 2.2.1 固定了很多老依赖(比如 protobuf<=3.20.0、grpcio==1.37.0 等)。新版/夜版 Paddle(支持 CUDA 12.x、新显卡)通常需要 protobuf ≥5,这和 PARL 2.2.1 的约束冲突。所以:
想继续用 PARL 2.2.1 → 通常只能用 Paddle 2.x(老 CUDA,不支持你这张新卡的 GPU)。
想让 Paddle 在新卡上用 GPU → 大概率要用 Paddle 3.x(CUDA 12.x),但它又会和 PARL 2.2.1 的依赖打架。
这就是你“要 Paddle + 要 GPU + 还要 PARL 2.2.1”的三角矛盾。