Skip to content

Nerfstudio on RTX 5070 (sm_120) – PyTorch / CUDA stack and tiny-cuda-nn install issues #3732

@bashtavenko

Description

@bashtavenko

I hit roadblocks for installing RTX 5070 on Ubuntu 24. This is not a bug report, but the only solution that I can see is to buy GeForce GTX 1050 on ebay. I would like to have some guidance and some documentation update (see below).

System

  • GPU: NVIDIA GeForce RTX 5070 (Blackwell, compute capability sm_120)
  • OS: Ubuntu 24.04
  • System CUDA: 12.8 (driver + toolkit installed globally) Also have 11.8 CUDA toolkit as non-default
  • Nerfstudio: poster dataset, nerfacto pipeline
  • Python: 3.8 in a dedicated conda env nerfstudio
  • Following the official Nerfstudio conda + cu118 install instructions

What works

  1. Created conda env and installed PyTorch 2.1.2 + cu118 and torchvision as documented.
  2. Attempted to install CUDA 11.8 toolkit inside the env via the NVIDIA channel.
  3. Installed tiny-cuda-nn with ninja and the torch bindings from GitHub, after working through CUDA version mismatch and checksum issues.

Issues hit along the way

  1. Initial CUDA version mismatch (11.8 vs 12.8)

    • PyTorch cu118 in the env reports CUDA 11.8, but the system exposes CUDA 12.8.
    • Building tiny-cuda-nn failed with the standard PyTorch extension error:
      “The detected CUDA version (12.8) mismatches the version that was used to compile PyTorch (11.8).”
  2. GCC too new for CUDA 11.8

    • After adding a local CUDA 11.8 toolkit to the env, tiny-cuda-nn build then failed with:
      #error -- unsupported GNU version! gcc versions later than 11 are not supported!
    • Ubuntu 24 ships GCC ≥13; CUDA 11.8’s nvcc refuses to compile without workarounds (installing gcc-11 and exporting CC/CXX/CUDAHOSTCXX, or using -allow-unsupported-compiler).
    • added export CUDA_HOME="$CONDA_PREFIX" and export PATH="$CUDA_HOME/bin:$PATH"
  3. Training still fails / degrades even after tiny-cuda-nn install attempt

    • Nerfstudio starts training the poster dataset but prints:
      NVIDIA GeForce RTX 5070 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_70 sm_75 sm_80 sm_86 sm_37 sm_90.
      
    • So even if the extension situation is resolved, the core PyTorch build itself does not recognize sm_120, and training either falls back to CPU or fails.

Net result

  • The current stable PyTorch + cu118 stack recommended in the Nerfstudio docs appears incompatible with RTX 5070 (sm_120) on Ubuntu 24.
  • Trying to follow the older CUDA 11.8 + tiny-cuda-nn route runs into a tangle of:
    • CUDA runtime mismatch (11.8 vs 12.8)
    • GCC version incompatibility with CUDA 11.8
    • And finally, PyTorch itself lacking sm_120 support at the recommended version.
    • I tried using the latest Pytorch 2.9.1 with CUDA 12.8 with Python 3.8. The training succeed but ns-viewer failed with loading checkpoint due to the Pytorch old weight parameters. I patched it with newer syntax, the viewer began working but than it failed with out of memory for GPU....

What I’m asking

  1. Recommended stack for RTX 50‑series GPUs (sm_120)

    • Is there a known‑good combination of:
      • PyTorch version (e.g., a specific nightly with CUDA 12.x and sm_120 support),
      • CUDA toolkit version (system vs env-local),
      • And Nerfstudio commit / viewer configuration
        that’s been validated on RTX 5070 / 5080 / 5090?
      • Python version
  2. Guidance on tiny-cuda-nn for these GPUs

    • For Blackwell cards, should users:
      • Avoid tiny-cuda-nn entirely and prefer gsplat / other backends, or
      • Build it against a CUDA 12.x PyTorch with sm_120, and if so, what exact flags / arch list should be used?
  3. Docs update request

    • The current install docs target Python 3.8 + cu118 + CUDA 11.8, which are increasingly out of sync with:
      • Ubuntu 24’s GCC toolchain, and
      • New RTX 50‑series GPUs.
    • A short “RTX 50‑series / sm_120” section describing the recommended PyTorch and CUDA versions (and whether tiny-cuda-nn is supported) would be extremely helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions