You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

旧PyTorch版本在RTX3080Ti上运行失败的解决方案咨询

解决RTX3080Ti运行PyTorch1.6项目的CUDA兼容问题

问题核心

RTX3080Ti的CUDA算力为sm_86,而PyTorch1.6官方预编译包仅支持到sm_75,且RTX30系列不兼容CUDA11以下版本,因此无法通过降级CUDA或使用官方预编译包解决,必须从源码编译PyTorch1.6并指定适配sm_86算力。


方案一:Docker环境下编译适配sm_86的PyTorch1.6

1. 编写Dockerfile

基于支持CUDA11.0的Ubuntu镜像(RTX30系列最低兼容CUDA11.0),构建包含Python3.8及编译依赖的环境:

# 基础镜像:CUDA11.0 + cuDNN8 + Ubuntu20.04
FROM nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04

# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHON_VERSION=3.8

# 安装系统依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    git \
    cmake \
    libopenmpi-dev \
    libssl-dev \
    python${PYTHON_VERSION} \
    python${PYTHON_VERSION}-dev \
    python${PYTHON_VERSION}-distutils \
    && rm -rf /var/lib/apt/lists/*

# 设置Python3.8为默认
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 \
    && update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1

# 安装pip
RUN curl https://bootstrap.pypa.io/get-pip.py | python

# 克隆PyTorch1.6源码并切换到指定版本
RUN git clone --depth 1 --branch v1.6.0 https://github.com/pytorch/pytorch.git /pytorch \
    && cd /pytorch && git submodule update --init --recursive

# 设置编译参数:指定sm_86算力、CUDA版本等
ENV TORCH_CUDA_ARCH_LIST="8.6"
ENV CUDA_HOME="/usr/local/cuda-11.0"
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"

# 编译并安装PyTorch1.6
RUN cd /pytorch && python setup.py install --verbose

# 清理编译缓存
RUN rm -rf /pytorch

# 复制项目代码并安装依赖(替换为你的项目路径)
COPY . /qafacteval
WORKDIR /qafacteval
RUN pip install -r requirements.txt

2. 构建并运行容器

# 构建镜像
docker build -t qafacteval-pytorch1.6-sm86 .

# 运行容器(需确保Docker已配置NVIDIA runtime)
docker run --gpus all -it qafacteval-pytorch1.6-sm86

方案二:Conda/Venv环境下编译适配sm_86的PyTorch1.6

1. 创建并激活Python3.8环境

Conda版本:

conda create -n qafacteval python=3.8
conda activate qafacteval

# 安装CUDA11.0 toolkit(conda提供的兼容包)
conda install -c conda-forge cudatoolkit=11.0 cudnn=8.0

Venv版本:

python3.8 -m venv qafacteval-venv
source qafacteval-venv/bin/activate

# 安装CUDA11.0 toolkit(需手动从NVIDIA官网下载安装,确保环境变量CUDA_HOME指向安装路径)

2. 安装编译依赖

pip install cmake ninja

3. 克隆并编译PyTorch1.6

# 克隆源码并切换版本
git clone --depth 1 --branch v1.6.0 https://github.com/pytorch/pytorch.git
cd pytorch
git submodule update --init --recursive

# 设置编译参数
export TORCH_CUDA_ARCH_LIST="8.6"
export CUDA_HOME="/usr/local/cuda-11.0"  # Conda环境可设置为$CONDA_PREFIX/lib/python3.8/site-packages/cuda

# 编译安装
python setup.py install --verbose

4. 安装项目依赖

cd /path/to/qafacteval
pip install -r requirements.txt

注意事项

  • 编译过程耗时较长,需确保机器有足够的CPU核心和内存(建议至少8核16G内存)。
  • 若编译中出现依赖缺失,可根据错误提示补充安装对应库(如libtorch相关依赖)。
  • 验证安装:运行python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_capability())",应输出True和(8, 6)。

内容的提问来源于stack exchange,提问作者Osmosis D. Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:36:24