Quip Network Documentation Developer portal

Toolchain

XQuad compiles quadratic optimization problems into bytecode for a single virtual machine, the XQVM, and runs that bytecode on whichever backend you point it at. A problem written once runs unchanged on a D-Wave quantum processor, a GPU annealer, a local CPU sampler, or the Quip Network. It plays the role LLVM plays for compilers: one intermediate representation, many targets.

Note Early public release. The instruction set, binary format, and public API may change before v1.0.

What it models

Combinatorial problems that reduce to quadratic binary models: QUBO, Ising, and discrete formulations. Traveling salesman, graph coloring, knapsack, set cover, maximum independent set, and portfolio optimization all fall in range. You write the model in a constraint-programming DSL or in .xqasm assembly, compile it to a .xqb binary, and hand the result to a solver.

Components

A Rust core does the execution. Python packages wrap it and add the modeling and solver layers.

PackageLanguageRole
xqvmRustThe VM interpreter, opcode table, and bytecode codec. Builds no_std + alloc, so it also runs inside WASM runtimes and Substrate pallets
xqasmRustAssembler for the .xqasm text format
xqcliRustThe xquad command: asm, dism, run, verify
xqffiPythonPyO3 bindings that expose xqvm and xqasm to Python
xqvm_pyPythonPure-Python reference VM, used as the conformance oracle
xqcpPythonConstraint-programming DSL that compiles to .xqasm
xqsaPythonSolver adapters for every supported backend
xquadPythonUmbrella package with the interactive Program / Session / RunResult API

A written specification defines every behavior, and CI runs each conformance vector on both the Rust VM and the Python reference VM. If the two disagree, the build fails.

Backends

BackendHardwareInstall
Simulated annealingCPUpip install xquad
CUDA annealerNVIDIA GPUpip install xquad[cuda]
Metal annealerApple Silicon GPUpip install xquad[metal]
D-Wave AdvantageQuantum annealerpip install xquad[dwave]
Quip NetworkNetwork-provided solverspip install "xquad[quip]"

Extras compose: pip install xquad[cuda,dwave].

Getting started

pip install xquad          # Python toolchain
cargo install xqcli        # the `xquad` binary

The full documentation covers installation, modeling, the instruction set, worked examples for a dozen classic problems, and the reference for every package.

To run a model on the Quip Network rather than on your own hardware, see Submit Your First Compute Job.