请求指导基于CUDA12.6.3+cuDNN9.5.1编译PyTorch2.5.1(含libtorch)
从源码编译适配CUDA 12.6.3和cuDNN 9.5.1的PyTorch 2.5.1(含libtorch)
需求概述
目标是从源码编译PyTorch 2.5.1(包含libtorch与主PyTorch),适配CUDA 12.6.3和cuDNN 9.5.1,用于ComfyUI等图像生成AI工作流。当前编译主PyTorch时遇到找不到torch_python的报错,导致编译失败。
机器配置
- 操作系统:Ubuntu 22.04.5 LTS
- CPU:Intel i7-9700K
- 内存:64 GB
- GPU:RTX 4060 Ti(16 GB显存)
- CUDA/cuDNN:系统级安装的CUDA 12.6.3和cuDNN 9.5.1(未通过Miniconda等包管理器)
- Python环境:Miniconda3虚拟环境,Python 3.11.10
当前尝试的流程
我希望确认使用cmake从源码编译PyTorch(含libtorch)并打包为.whl文件用于虚拟环境安装的正确步骤,此前尝试的流程如下:
- 设置环境变量
export BUILD_LIBTORCH_WHL=1,通过cmake编译libtorch(开启TORCH_NO_PYTHON),配置适配CUDA 12.6.2和cuDNN 9.5.1。 - 执行命令
python -m build --wheel -Ccmake.define.BUILD_CMAKE_FROM_SOURCE=ON生成wheel文件。 - 删除编译目录:
rm -rf build,执行python setup.py clean清理。 - 尝试以编译好的libtorch为依赖构建主PyTorch:设置
export BUILD_PYTHON_ONLY=1,用cmake配置相同CUDA和cuDNN版本,执行相同编译命令,出现找不到torch_python的报错。 - 移除
BUILD_PYTHON_ONLY标志后用python -m build重新编译,能生成适配CUDA 12.6.2和cuDNN 9.5.1的包,但怀疑未正确整合libtorch。
问题
- 针对CUDA 12.6.3和cuDNN 9.5.1,从源码编译PyTorch 2.5.1(含libtorch与主PyTorch)的正确完整方法是什么?
- 是否必须将libtorch纳入主PyTorch编译才能得到完整包?
- 该过程是否需要额外依赖、环境变量或特定cmake选项?
若需更多环境、配置或报错细节,可补充提供。
内容的提问来源于stack exchange,提问作者user28412398
相关产品推荐
相关产品推荐

