ONNX Runtime 与 CUDA、cuDNN 的版本对应
ONNX Runtime 与 CUDA、cuDNN 的版本对应关系是深度学习模型部署中的关键点,确保版本兼容性可以避免运行时错误并优化性能。以下是详细的版本对应关系及注意事项:
1. ONNX Runtime 与 CUDA、cuDNN 的版本对应表
根据官方文档和实际使用经验,以下是一些常见的 ONNX Runtime 版本与 CUDA、cuDNN 的对应关系:
ONNX Runtime 版本 | CUDA 版本 | cuDNN 版本 | 备注 |
---|---|---|---|
1.17.x | 12.2 | 8.9.2.26 | 默认支持 CUDA 11.8,CUDA 12.2 需额外配置 |
1.15.x - 1.16.x | 11.8 | 8.2.4 (Linux) / 8.5.0.96 (Windows) | 支持 CUDA 11.6 - 11.8 |
1.13.x - 1.14.x | 11.6 | 8.2.4 (Linux) / 8.5.0.96 (Windows) | 支持 CUDA 11.4 - 11.6 |
1.11.x - 1.12.x | 11.4 | 8.2.4 (Linux) / 8.2.2.26 (Windows) | 支持 CUDA 11.0 - 11.4 |
1.9.x - 1.10.x | 11.4 | 8.2.4 (Linux) / 8.2.2.26 (Windows) | 支持 CUDA 11.0 - 11.4 |
1.7.x - 1.8.x | 11.0.3 | 8.0.4 (Linux) / 8.0.2.39 (Windows) | 支持 CUDA 11.0 - 11.2 |
1.5.x - 1.6.x | 10.2 | 8.0.3 | 支持 CUDA 10.2 |
1.2.x - 1.4.x | 10.1 | 7.6.5 | 支持 CUDA 10.1 |
1.0.x - 1.1.x | 10.0 | 7.6.4 | 支持 CUDA 9.1 - 10.1 |
2. 版本选择建议
- CUDA 12.x:推荐使用 ONNX Runtime 1.17.x 或更高版本,支持 cuDNN 8.x 或 9.x。
- CUDA 11.x:推荐使用 ONNX Runtime 1.13.x - 1.16.x,支持 cuDNN 8.x。
- CUDA 10.x:推荐使用 ONNX Runtime 1.5.x - 1.12.x,支持 cuDNN 7.x 或 8.x。
3. 注意事项
- CUDA 小版本兼容性:ONNX Runtime 通常支持 CUDA 的主版本兼容性,例如 CUDA 11.x 的 ONNX Runtime 可以在 CUDA 11.0 - 11.8 之间兼容。
- 环境变量配置:确保 CUDA 和 cuDNN 的路径已正确添加到系统环境变量中,否则可能导致 GPU 加速失败。
- TensorRT 支持:如果需要进一步优化推理性能,可以结合 TensorRT 使用,但需确保 ONNX Runtime、CUDA 和 TensorRT 版本兼容。
4. 常见问题与解决方案
-
问题:GPU 加速未启用
可能原因:CUDA 或 cuDNN 版本不匹配,或环境变量未正确配置。
解决方案:检查nvcc -V
和cudnn.h
版本,确保与 ONNX Runtime 要求一致。 -
问题:安装失败
可能原因:网络问题或依赖冲突。
解决方案:使用国内镜像源(如清华源)或创建干净的虚拟环境重新安装。
5. 之前项目使用过的案例
- onnxruntime 1.12 gpu
- cuda 11.4
- cudnn 8.5
如果需要更详细的版本对应表或安装指南,可以参考 ONNX Runtime 官方文档。