Developers

SDK quickstarts, APIs, supported platforms, and examples.

Python SDK Quickstart

  1. pip install -e ./sdk/python
  2. Start dev server: pnpm dev (serves /api/solve)
  3. Run example: python sdk/python/examples/helloworld.py
from resonant import RPC, QUBO

# Define a small QUBO (binary) problem
Q = QUBO.from_dense([[0, -1], [-1, 0]])

with RPC.open() as rpc:
    schedule = rpc.schedules.default(steps=200)
    result = rpc.solve(Q, schedule={"steps": 200})
    print("solution:", result.bits, "energy:", result.energy)

C++ API Sketch

Low‑latency control for schedule execution and readout.

#include <rpc.hpp>

int main(){
  rpc::Device dev = rpc::open();
  rpc::QUBO Q = rpc::QUBO::FromDense({{0,-1},{-1,0}});
  rpc::Schedule s = rpc::Schedule::Default(200);
  auto res = dev.Solve(Q, s);
  std::cout << res.bits << " " << res.energy << std::endl;
  return 0;
}

Interactive Simulation

Explore phase locking and network coupling effects directly in your browser.

REST API (Preview)

Submit QUBOs and retrieve results over HTTP.

POST /api/solve
{
  "problem": "qubo",
  "Q": [[0,-1],[-1,0]],
  "schedule": {"steps": 200}
}

Response:
{
  "bits": [1,0],
  "energy": -1.0,
  "diagnostics": {"converged": true, "t_ms": 12}
}

Supported Platforms

  • Linux (Ubuntu LTS) — official support
  • PCIe Gen3/Gen4 host with x4 or higher lane allocation
  • Python 3.10+, GCC/Clang for C++ examples

Problem Types

  • Ising, QUBO binary optimization
  • Assignment, routing, scheduling
  • Graph partitioning, Potts‑like labeling