The language
Omegese (the language the AI writer uses) and OSC (the text language). Both compile to one binary IR. checker2 checks the IR and issues a receipt. A backend then turns the IR into machine code.
Source on GitHubOmega
You write a program once. Omega's own tools check it and compile it straight to the machine code of the processor that runs it, GPU or CPU. No vendor compiler, toolkit or runtime library is involved anywhere.
On the GPU, that makes Omega the replacement for CUDA. On the CPU, it replaces C and its toolchain. This page says how far each of those has got, and the checks that have to pass before we can claim each one.
True today, with a receipt
Omega runs AIEN's models on the GB10 with no CUDA software: no libcuda, no cuBLAS, no nvcc.
See the receiptWritten from docs/OMEGA.md in the omega repository (branch docs/what-omega-is at 237c2095), checked 2026-10-21. Status words: PASS (a receipt exists on the named commit), PARTIAL, MISSING. Ledger item L386 tracks the work; tracking issue omega#593. Data file: /omega.json.
CUDA++, the GPU half of Omega, has its own page: CUDA++.
1 · The parts
Omegese (the language the AI writer uses) and OSC (the text language). Both compile to one binary IR. checker2 checks the IR and issues a receipt. A backend then turns the IR into machine code.
Source on GitHubOmega writes the GPU's own machine code (sm_121 SASS on the GB10). There is no PTX, no nvcc and no ptxas. A kernel builder with 59 instruction kinds, a register allocator and an encoder produce every kernel Omega runs.
Source on GitHubOpens the device, allocates memory, launches kernels, records command lists and runs jobs. It does the job of CUDA's runtime and driver API (libcudart, libcuda).
Source on GitHubMatrix multiply, matrix-vector (BF16, FP8, 4-bit, ternary), attention (decode and prefill), reductions, elementwise. They do the job of cuBLAS and cuDNN.
Source on GitHubOmega reaches the GPU through the physics repository's driver client (nvrm/nvrm.c, m16/m16_native.c). The client talks to NVIDIA's open-source kernel module (nvidia.ko, nvidia-uvm.ko, version 580.173.02) and the module boots NVIDIA's signed GSP firmware. Replacing the kernel module with our own driver is a separate job, L332. The firmware stays NVIDIA's for a physical reason: the GPU checks its signature and will not boot anything else.
Source on GitHub2 · CUDA, piece by piece
“CUDA” is a stack of NVIDIA software. This is each piece, top of the stack to the chip, and Omega's replacement for it. Missing pieces are shown as missing.
What is already true, with a receipt
The 35B model AIEN serves on the Spark runs on Omega with no NVIDIA user-space software at all. On 2026-10-21 the live server (port 18091, --engine omega) had only libc, libm, libgcc_s and the loader mapped: zero CUDA libraries. It held /dev/nvidia0, /dev/nvidiactl and /dev/nvidia-uvm open, which is the open kernel module and nothing above it.
Taken 2026-10-21T21:50:23Z on spark-b87b. The receipt holds the binary sha256, the mapped libraries, ldd, the driver version and the commands used.
So this sentence is true today: Omega runs AIEN's models on the GB10 with no CUDA software: no libcuda, no cuBLAS, no nvcc.
Receipt on GitHubWhat is not true yet
Omegese and OSC compile to one IR and checker2 checks it, but no Omegese kernel has run on the GB10 yet. Every GPU kernel Omega runs is still built by C calls to the kernel builder. This is bar C1.
Source on GitHubNo FFT or random numbers, no disassembler of our own, no samples and no written runtime API, no streams or events, one process per GPU, and GEMM shaped for the models we run. These are bars C2 to C6.
Source on GitHubOmega reaches the GPU through the physics driver client, which talks to nvidia.ko and nvidia-uvm.ko, version 580.173.02. AIEN's own GB10 driver that replaces them is a separate job, L332.
Receipt on GitHubThe kernel module boots NVIDIA's signed GSP firmware, which runs inside the GPU. It stays for a physical reason: the chip checks its signature and will not boot anything else.
Source on GitHub3 · The bar for “Omega replaces CUDA”
We say it when every row is PASS, each with a receipt pushed on the exact commit. No row is waived. A row is ticked here only when its receipt is in the data file; until then it shows where it stands on the CUDA map above.
4 · The rest of “Omega replaces everything”
These are not part of the CUDA claim. They are the rest of what Omega is for, and each has its own bar.
Our own GB10 driver replaces nvidia.ko and nvidia-uvm.ko (L332): Omega's golden tokens identical on our driver and on NVIDIA's, with per-word timing. The GSP firmware stays, as above.
Source on GitHubThe GPU runtime and libraries are C today. The language rule (aien-architecture ADR 0024) keeps C only where hardware, boot, ABI or measurement justifies it, so the runtime moves into Omega once C1 makes that possible.
Source on GitHubThe OSC and Omegese backends emit AArch64 machine code today (src/compiler/osc_a64.c). The live server is still a gcc and Rust build linked against glibc; it moves to Omega-compiled code as the language grows.
Source on GitHub5 · Performance: matching and then beating CUDA
Where we stand: at FP8 with one conversation we are level with or ahead of the published CUDA numbers. We are behind on three things: prompt reading (7 to 30 times), many conversations at once (5 to 15 times), and 4-bit weights (not yet live). All three are work, not physics: the ceilings are far from reached.
Same machine (one DGX Spark GB10), same kind of model (a ~30B mixture-of-experts with about 3B active per word). Our numbers are measured by us, with receipts. Everyone else's are published by others and labelled that way, with their source; none of them has been re-measured here yet (bar P0). The table of numbers, with every source, is section 5 of docs/OMEGA.md.
Source on GitHubEach row PASS needs our receipt and the other system measured by us on this Spark, same model, same prompts, same output length, in the same quiet window.