Skip to content

CUDA backend for Linux/NVIDIA — interest in upstreaming? #42

Description

@matrixfede

I ported h3.c to Linux ARM64 with a native CUDA backend behind the existing h3_gpu.h API (CLI, checkpoint formats and the Metal path unchanged; backend selected at build time).

Measured on an NVIDIA GB10 (DGX Spark, CUDA 13.0), max-quality preset (1024x576, 107 frames, 50 steps/layers):

  • full render: 33:37 -> 18:56 wall clock (1.78x)
  • video VAE decode: 1113 s -> 248 s via a tiled F32 attention kernel (4.49x)
  • DiT attention: cuDNN SDPA BF16 (~84x on the long shape) with custom tiled fallback
  • parity gates: CPU oracles (max_abs <= 2e-5), Compute Sanitizer clean, matched renders SSIM >= 0.999 on the short gate

The branch is ~6.8k lines across 3 commits (portable host/tokenizer, CUDA backend, integration + optimizations). Happy to open a PR if this is of interest, and to split or rework anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions