You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Windows 11环境下NVIDIA RTX 5090(sm_120)与PyTorch兼容问题的技术咨询

关于Windows 11环境下NVIDIA RTX 5090(sm_120)与PyTorch兼容问题的技术咨询

问题背景

我在Windows 11系统上尝试使用PyTorch搭配NVIDIA GeForce RTX 5090(Blackwell架构,CUDA计算能力sm_120)时,频繁遇到兼容性问题:PyTorch能检测到CUDA,但任何GPU操作都会触发内核镜像不可用的错误。

系统与软件环境细节

  • 操作系统:Windows 11
  • GPU:NVIDIA GeForce RTX 5090
  • 显卡驱动版本:581.80
  • nvidia-smi输出:
NVIDIA-SMI 581.80
Driver Version: 581.80
CUDA Version: 13.0
| 0 NVIDIA GeForce RTX 5090 WDDM | 00000000:01:00.0 On |
| | 0% 36C P8 14W / 600W | 1094MiB / 32607MiB |
  • Python版本:3.12
  • PyTorch版本:2.7.0.dev20250310+cu124
  • PyTorch CUDA检测结果:
CUDA available: True
CUDA device count: 1
Device 0: NVIDIA GeForce RTX 5090
  • 警告信息:

UserWarning: NVIDIA GeForce RTX 5090 with CUDA capability sm_120 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_61 sm_70 sm_75 sm_80 sm_86 sm_90.

  • 执行简单GPU操作时的错误:
    运行代码:
x = torch.randn(1000, 1000, device="cuda")

触发错误:

RuntimeError: CUDA error: no kernel image is available for execution on the device

核心疑问

  1. PyTorch目前是否提供支持sm_120架构的官方Windows二进制包?
  2. 如果没有官方二进制包,当前可行的解决方案是否只有以下两种?
    • 切换到Linux/WSL2环境,安装支持CUDA 12.8+的最新PyTorch nightly版本
    • 在Windows上从源码编译PyTorch,编译时指定set TORCH_CUDA_ARCH_LIST=8.6;9.0;12.0
  3. 是否有用户成功在Windows 11上搭配RTX 5090使用PyTorch?如果有,能否分享可正常运行的精确配置组合(PyTorch版本、CUDA版本、安装命令)?
  4. 想了解Blackwell架构GPU在Windows系统上的PyTorch当前支持状态。

解答与现状说明

1. 官方Windows二进制包的sm_120支持状态

截至2025年3月(对应你当前使用的PyTorch nightly版本时间),PyTorch官方尚未发布支持sm_120的Windows预编译二进制包。官方当前的Windows nightly和稳定版二进制包,最高仅支持到sm_90(Hopper架构),这也是你看到警告提示"当前PyTorch安装不支持sm_120"的原因。

2. 可行的解决方案

你列出的两种方案是当前针对Windows+sm_120的主要可行路径,补充细节如下:

方案A:WSL2 + Linux环境(推荐)

Blackwell架构的官方CUDA支持在Linux环境下更成熟,PyTorch的nightly分支已经针对CUDA 12.8+添加了sm_120的支持。你只需要在WSL2中安装对应环境:

  • 确保WSL2的Linux发行版(如Ubuntu 22.04/24.04)配置好CUDA 12.8+驱动(可通过NVIDIA的WSL驱动同步Windows端的最新驱动)
  • 安装支持cu128的PyTorch nightly版本,安装命令示例:
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

这个方案的优势是不需要手动编译,能快速获得稳定的sm_120支持,也是目前社区验证最多的方案。

方案B:Windows源码编译PyTorch

如果你坚持在Windows原生环境使用,从源码编译是唯一途径,编译时需要注意:

  • 确保你的系统满足PyTorch源码编译的前置依赖(如Visual Studio 2022、CUDA Toolkit 12.4+、cuDNN等)
  • 编译前必须设置环境变量指定sm_120支持:
set TORCH_CUDA_ARCH_LIST=8.6;9.0;12.0
  • 后续按照PyTorch官方的Windows源码编译流程执行即可。不过这个方案耗时较长,且对编译环境要求较高,适合有一定编译经验的用户。

3. Windows原生环境的成功案例

目前社区中已经有少量用户成功在Windows 11原生环境下运行RTX 5090 + PyTorch,分享的可行配置组合如下:

  • PyTorch版本:nightly分支2.7.0.dev20250315+cu128(需手动从源码编译,无官方二进制)
  • CUDA版本:CUDA Toolkit 12.8
  • 编译关键步骤:
    1. 安装Visual Studio 2022(勾选"桌面开发C++"工作负载)
    2. 安装CUDA Toolkit 12.8和对应版本的cuDNN
    3. 克隆PyTorch源码到本地,切换到nightly分支
    4. 设置环境变量:
      set TORCH_CUDA_ARCH_LIST=8.6;9.0;12.0
      set CMAKE_GENERATOR=Visual Studio 17 2022
      set DISTUTILS_USE_SDK=1
      
    5. 执行编译与安装:
      python setup.py install
      

不过这类案例的稳定性不如WSL2方案,且后续PyTorch版本更新需要重新编译,维护成本较高。

4. Blackwell架构的PyTorch整体支持状态

PyTorch对Blackwell(sm_120)的支持目前处于积极开发阶段

  • Linux环境的nightly分支已全面支持sm_120(需搭配CUDA 12.8+)
  • Windows环境的官方二进制支持预计会在后续的稳定版(如PyTorch 2.7正式版)中跟进,但具体时间尚未公布。

总结建议

如果你追求便捷性和稳定性,优先选择WSL2+Linux+PyTorch nightly cu128的组合;如果必须使用Windows原生环境,只能通过源码编译的方式获取sm_120支持,同时可以关注PyTorch官方的发布公告,等待Windows二进制包的更新。

火山引擎 最新活动