Highway-V1 / docs /GPU-SUPPORT.md
DucHaiten's picture
Release RC.3.9: complete GPU runtime, native wheels and platform installers
05010ce verified
|
Raw History Blame Contribute Delete
5.81 kB

GPU support and installation — RC.3.9

This release fixes the public runtime selecting only SM86/SM89/SM120 even though an A100 implementation already existed elsewhere. It connects the owned graph runtime, validates the native ABI before loading the model, and ships the missing native attention binaries in the same release. The model checkpoint and generation program are unchanged.

Required software

Use isolated CPython 3.11, Torch 2.10.0+cu130, comfy-kitchen 0.2.33 and the supplied sageattention 2.2.0+highway.20261022 wheel. Windows uses triton-windows 3.6.0.post26; Linux uses Triton 3.6.0. Linux requires glibc 2.28 or newer. Use the wheel matching the host OS and CPU architecture.

Sage binaries contain CUDA 13.0 / PTX ISA 9.0 code. The NVIDIA driver must support CUDA 13.0 (R580 or newer) and the actual GPU. CUDA 12-only drivers are insufficient. On Jetson, the vendor BSP/JetPack must itself support this CUDA runtime; installing a desktop driver is not a substitute. Architecture coverage below does not certify every JetPack or operating-system image.

Runtime and binary coverage

SM Examples Attention route Included device code
80 A100, A30 SM80 FP16-V SM80 SASS and generic compute_80 PTX
86 RTX 30, A10, A40 SM80 FP16-V compatible SM80 SASS / compute_80 PTX
87 Orin architecture SM80 FP16-V compatible SM80 SASS / compute_80 PTX; vendor runtime requirement applies
89 RTX 40, L4, L40/L40S, RTX 6000 Ada SM89 FP8-V SM89 SASS and compute_89 PTX
90 H100, H200, GH200 SM90 FP8-V SM90a SASS, Hopper-specific packing
100 B200, GB200 SM80 FP16-V generic compute_80 PTX
103 B300, GB300 SM80 FP16-V generic compute_80 PTX
110 Jetson T5000/T4000 architecture SM80 FP16-V generic compute_80 PTX
120 RTX 50, RTX PRO 6000 Blackwell SM89 FP8-V generic SM120 SASS and compute_89 PTX
121 GB10, DGX Spark SM89 FP8-V compatible generic SM120 SASS / compute_89 PTX

Each host wheel includes _fused, _qattn_sm80, _qattn_sm89 and _qattn_sm90. The fused module contains both compute_80 and compute_89 PTX so FP8 packing is not compiled out on later architectures. Kitchen's locked wheel provides ConvRot INT8 and CUTLASS; the remaining Triton/Gluon kernels compile locally for the selected device.

These routes preserve full-key attention, the owned graph and per-architecture packing. Unsupported architectures are rejected clearly; no silent SDPA or different-precision replacement is selected. Native BF16 requires SM80 or later. AMD, Intel, pre-SM80 NVIDIA and Windows ARM64 are outside this CUDA runtime.

Windows

Use INSTALL_WINDOWS.bat from the new archive. Keep the isolated worker separate from ComfyUI's Python. The download lock selects the new Sage wheel and checks SHA256; that wheel is also bundled under wheels/ for an offline wheelhouse.

To update, stop ComfyUI and preserve the existing node folder and its runtime.json / assets.json outside custom_nodes. Install into a new worker directory, retain the existing model files, and restore the asset paths through setup. To roll back, restore the old node and worker paths. The installer refuses an existing node instead of deleting user settings.

Linux x86-64 and ARM64

From the archive's linux/ directory:

python3.11 setup_linux.py --target /path/to/new/highway-worker

Setup selects the host's bundled 65-wheel manifest, verifies versions and hashes, downloads software dependencies and creates a fresh isolated worker. It does not download or execute a model. Use --dry-run to inspect the plan or --cache PATH for a wheel cache. New Sage wheels are bundled under linux/wheels/.

To also install the integration, supply --comfy-root PATH --assets PATH --ffmpeg PATH --host-stopped. Assets is the existing Highway asset profile. FFmpeg and ffprobe must be adjacent native executables. The lifecycle installer preserves tracked backups and untracked user files; use "python3.11 install.py --help" for update/rollback/recovery operations. Stop ComfyUI before changing its node.

Verification and limits

Checks cover all 10 runtime routes, packing/native-call contracts, package tamper rejection, dependency closure, SASS/PTX inventory, and installed-wheel CPU imports on Windows and Linux x86-64. ARM64 binaries were cross-built and their ELF architecture, dependencies and exported ABI inspected; all 65 ARM64 dependency wheels were downloaded and fully hashed.

No new physical GPU or whole-model generation was run for this repair. ARM64 code was not executed on an ARM machine. On the user's GPU, Highway runs small native-kernel checks before loading the checkpoint; failures report the incompatible dependency/kernel rather than changing algorithms. RAM/VRAM capacity remains a separate requirement from SM support.

The checkpoint remains DucHaiten-Highway-V1.0.0-rc.3.1.safetensors, SHA256 a081d18279324796fbce8be13d0d6e9223d841edb60d7c27b89114c642fb6029. It does not need downloading again.

Optional automatic-reference reader

The separate reader overlay's two exact wheels are bundled under linux/wheels/. On Linux x86-64, run from linux/ using the prepared worker's Python:

/path/to/highway-worker/bin/python -I bootstrap.py reader --target /path/to/new/reader-overlay --profile linux-py311-cu130 --wheelhouse wheels --linux-lock requirements-reader-x86_64.locked.txt --linux-manifest manifests/reader-x86_64.json --execute

On ARM64, use profile linux-aarch64-py311-cu130, requirements-reader-aarch64.locked.txt and manifests/reader-aarch64.json instead. This installs only the separate software overlay; the existing optional reader model and asset configuration are still required.