gpuemu logo gpuemu

Frequently asked questions

What is gpuemu?

gpuemu is a GPU-less correctness oracle for deep-learning kernels. It validates CUDA/Triton kernels against a high-precision fp64 reference with op-schema-aware adversarial inputs, calibrated per-op tolerances, and static PTX/SASS lint — finding the silent numerical bugs that a single torch.allclose check misses.

How is gpuemu different from torch.allclose or torch.testing.assert_close?

The standard check runs one shape, one dtype, one seed. In a measured 26-op corpus that oracle accepted 9/9 LLM-style buggy kernels as correct. gpuemu replaces it with an operator-domain-aware regime that caught all 9 with zero false positives, and reports the exact seed, shape, and input snapshot for every failure.

Does gpuemu need a GPU to run?

No. The validation step runs without a GPU by comparing your kernel’s output against a CPU fp64 reference. You only need a GPU for the optional artifact (PTX/SASS) step. Failures reproduce byte-for-byte on a laptop because the RNG is bit-identical across Rust and Python.

What languages and frameworks does it support?

A Rust daemon and CLI (cargo install gpuemu) plus a Python client (pip install gpuemu) with adapters for PyTorch, JAX, and TensorFlow. Platforms: Linux (primary) and macOS (CPU validation).

Is gpuemu open source?

Yes. gpuemu is dual-licensed under MIT or Apache-2.0. An enterprise tier adds private rule packs, an on-prem daemon, and signed correctness reports.

What does “GPU-less” mean — can it really find GPU bugs without a GPU?

The correctness question is numerical: does the kernel compute the right values? gpuemu answers that by comparing your kernel’s output to a high-precision fp64 CPU reference across many op-schema-aware inputs. You run your kernel wherever it runs (GPU or not); gpuemu validates the result. Only the optional PTX/SASS lint step needs compiled GPU artifacts.

How does gpuemu fit into CI?

The CLI has a single `gpuemu ci` command that combines fuzzing, lint, and baseline-diff and emits JUnit, SARIF, Codecov, or PR-comment output — so it drops into GitHub Actions, GitLab CI, Codecov, and Sonar. Failures block the PR with a replay-seed link.

What is a signed Kernel Correctness Report?

An HTML report with a per-op × per-dtype × per-shape pass matrix, a run id, a SHA-256 of the result database, and an ed25519 signature. Anyone can verify it offline with one OpenSSL command — an SLA-grade evidence artefact for inference vendors. It is part of the enterprise tier.

What is gpuemu NOT?

It is not a cycle-accurate GPU emulator (it checks correctness, not timing), not a replacement for real hardware (final performance benchmarks still belong on the target GPU), and not a training framework (it is a kernel-level oracle, not a model-level one).

Stop shipping silently-wrong kernels

Open source, dual-licensed MIT / Apache-2.0. Validate your first kernel in five minutes — or talk to us about an enterprise pilot.