端到端验证

下面这个例子把”构造线路 → 本地模拟 → 通过 submit_task 在 dummy 上跑一遍 → 真机 提交模板”四件事一次走完。如果你的 unified-quantum 装好了,运行它应该不报错。

01 — Quickstart: install, simulate, submit

Source: examples/0_quickstart/01_quickstart.py
Status: pass

最简单的端到端验证:构建 Bell 态 → 本地 OriginIR 模拟 → 通过 submit_taskdummy:local:simulator 上跑一遍。如果你正确装好了 unified-quantum 并能跑通 这个脚本,就证明环境是可用的。

真机提交把 backend 换成 "originq:WK_C180" 即可(推荐先在 uniqc config init 里 配好 originq.token)。要先离线检查可加 dry_run=True

Source code

"""01 — Quickstart: install, simulate, submit

[doc-require: ]
[doc-output-include: stdout, source]

最简单的端到端验证:构建 Bell 态 → 本地 OriginIR 模拟 → 通过 ``submit_task`` 在
``dummy:local:simulator`` 上跑一遍。如果你正确装好了 ``unified-quantum`` 并能跑通
这个脚本,就证明环境是可用的。

真机提交把 ``backend`` 换成 ``"originq:WK_C180"`` 即可(推荐先在 ``uniqc config init`` 里
配好 ``originq.token``)。要先离线检查可加 ``dry_run=True``。
"""

from __future__ import annotations

from uniqc import Circuit, submit_task, wait_for_result
from uniqc.simulator import Simulator


def main() -> None:
    circuit = Circuit()
    circuit.h(0)
    circuit.cnot(0, 1)
    circuit.measure(0, 1)

    print("== OriginIR ==")
    print(circuit.originir)

    sim = Simulator()
    counts = sim.simulate_shots(circuit.originir, shots=1024)
    print("== Local simulator counts ==")
    print(counts)

    task_id = submit_task(circuit, backend="dummy:local:simulator", shots=1024)
    counts = wait_for_result(task_id)
    print("== dummy:local:simulator counts ==")
    print(counts)

    print()
    print("Real-chip submission template (uncomment after `uniqc config set originq.token ...`):")
    print("    submit_task(circuit, backend='originq:WK_C180', shots=1000)")


if __name__ == "__main__":
    main()

Stdout

== OriginIR ==
QINIT 2
CREG 2
H q[0]
CNOT q[0], q[1]
MEASURE q[0], c[0]
MEASURE q[1], c[1]

== Local simulator counts ==
{3: 520, 0: 504}
== dummy:local:simulator counts ==
UnifiedResult(counts={'00': 512, '11': 512}, probabilities={'00': 0.5, '11': 0.5}, shots=1024, platform='dummy', task_id='uqt_f54533e824524fe1badd63b8a34d9d16', backend_name='dummy:local:simulator', execution_time=None, error_message=None)

Real-chip submission template (uncomment after `uniqc config set originq.token ...`):
    submit_task(circuit, backend='originq:WK_C180', shots=1000)

真机提交一行版

from uniqc import Circuit, submit_task, wait_for_result

c = Circuit(); c.h(0); c.cnot(0, 1); c.measure(0, 1)
task_id = submit_task(c, backend="originq:WK_C180", shots=1000)
print(wait_for_result(task_id))

或 CLI:

uniqc submit circuit.ir --backend originq:WK_C180 --shots 1000 --wait

验证环境

安装与配置完成后,可运行 uniqc doctor 一键验证环境(依赖、配置、缓存、网络连通性等), 详见 uniqc doctor

下一步