Skip to content

fix(build): accept GCC 12 for CUDA 12 compatibility#1019

Merged
LexLuthr merged 2 commits intomainfrom
fix/supraseal-gcc12-compat
Feb 18, 2026
Merged

fix(build): accept GCC 12 for CUDA 12 compatibility#1019
LexLuthr merged 2 commits intomainfrom
fix/supraseal-gcc12-compat

Conversation

@Reiers
Copy link
Copy Markdown
Contributor

@Reiers Reiers commented Feb 17, 2026

Problem

The supraseal build.sh hard-requires GCC 13, creating an impossible build situation for CUDA 12.0–12.5 users:

  1. Have CUDA 12 + GCC 12 → build.sh rejects GCC 12, demands 13 → ❌
  2. Install GCC 13 → nvcc (CUDA 12.0–12.5) rejects GCC 13 as host compiler → ❌
  3. No winning path without upgrading CUDA or skipping supraseal

Since supraseal now builds by default on Linux (PR #804), this blocks all CUDA 12.0–12.5 users from building Curio.

Root Cause

The GCC 13 requirement was a CI environment decision (PR #804 moved CI to Ubuntu 24.04 which defaults to GCC 13), not a code requirement. The supraseal codebase uses only C++17 features — fully supported by both GCC 12 and GCC 13.

CUDA / GCC Compatibility (per NVIDIA official docs)

CUDA Version Max GCC Supported
CUDA 12.0–12.2 GCC 12.2
CUDA 12.6 GCC 13.2
CUDA 13.0+ GCC 13+

Changes

extern/supraseal/build.sh

  • Accept both GCC 12 and GCC 13 (was: hard-require GCC 13 only)
  • Prefer GCC 13, fall back to GCC 12
  • Let nvcc validate the actual CUDA/GCC pairing via -ccbin

documentation/en/supraseal.md

  • Document CUDA/GCC version pairing requirements
  • Update GCC requirement from "GCC 13" to "GCC 12 or 13"

documentation/en/installation.md

  • Update system requirements note for CUDA 12.x and GCC 12/13 pairing
  • Add guidance on which GCC to install based on CUDA version
  • Document DISABLE_SUPRASEAL=1 and FFI_USE_OPENCL=1 escape hatches

@Reiers Reiers requested a review from a team as a code owner February 17, 2026 18:39
@Reiers Reiers force-pushed the fix/supraseal-gcc12-compat branch from bf90c9a to d2ab26e Compare February 17, 2026 18:42
@Reiers Reiers requested review from magik6k and removed request for magik6k February 17, 2026 18:42
@Reiers Reiers force-pushed the fix/supraseal-gcc12-compat branch 2 times, most recently from e06fca0 to 4d0fecd Compare February 17, 2026 18:58
The supraseal build.sh hard-required GCC 13, creating an impossible
build situation for CUDA 12.0–12.5 users (nvcc rejects GCC 13, but
build.sh rejects GCC 12).

The supraseal codebase only uses C++17 features — no GCC 13-specific
code. The GCC 13 requirement was a CI environment decision (Ubuntu 24.04
default), not a code requirement.

Changes:
- build.sh: accept both GCC 12 and GCC 13, prefer 13 then fall back to 12
- supraseal.md: document CUDA/GCC version pairing requirements
- installation.md: update dependency notes for GCC 12/13 and CUDA versions

CUDA / GCC compatibility (per NVIDIA docs):
  CUDA 12.0–12.5 → GCC up to 12.x
  CUDA 12.6+     → GCC up to 13.2
  CUDA 13.0+     → GCC 13+
@Reiers Reiers force-pushed the fix/supraseal-gcc12-compat branch from 4d0fecd to df4254c Compare February 17, 2026 19:02
@Reiers
Copy link
Copy Markdown
Contributor Author

Reiers commented Feb 17, 2026

Tested on Ubuntu Server 20.04, 22.04, and 24.04 — builds successfully on all three. GPUs show up correctly in the Curio web UI dashboard after the fix.

@Reiers Reiers requested review from LexLuthr and magik6k February 17, 2026 19:43
@LexLuthr LexLuthr merged commit 966098d into main Feb 18, 2026
23 checks passed
@LexLuthr LexLuthr deleted the fix/supraseal-gcc12-compat branch February 18, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants