QuantumFerry 用户使用手册

设备能力与设备选项

想知道一台机器能运行什么线路,先读设备能力;想设置这次任务怎样执行,再读设备选项。例如,门集与连接关系告诉你可以在哪些比特上编译,configuration_schema 告诉你 mapping 等配置怎么填写。本页解释共同概念,三个客户端专章给出可直接使用的查询代码。

先选择你使用的客户端

使用 Qiskit 或 PennyLane 编写线路时,选择对应插件;已有 OpenQASM 文件时,选择 Core SDK。SDK 和平台负责线路格式转换,下表列出各入口的能力查询和配置方法。

入口用户编写的输入当前上传格式设备能力入口设备配置入口
Qiskit 插件QuantumCircuit;Sampler / Estimator 的 PUB插件自动导出 OpenQASM 2 或 3backend.capabilities;backend.target;backend.configuration_schemabackend.set_options;单次 configuration_data;设备声明的动态关键字
PennyLane 插件QNode / QuantumScript插件预处理测量后导出逻辑 OpenQASM 2dev.provider_capabilities;schema 经 SchedulerClient 查询创建设备时的 configuration_data
Core SDKOpenQASM 文件或 UTF-8 bytesOpenQASM 2 或 3get_backend_class 返回设备模型;capabilities_from_backend / get_capabilities 解析能力JobSubmissionConfig.configuration_data

每一种查询结果解决什么问题

数据回答的问题怎样使用
设备目录与状态设备的 short_code、类型、规模和当前状态选择账号可用的目标设备
BackendCapabilities门、可用比特、连接、时长、误差和功能声明规划线路和物理布局;可选字段为空时显示“未提供”
configuration_schema设备选项的名称、类型、允许值和默认值将所选参数填写到客户端的设备配置入口
框架侧对象Qiskit Target 或 PennyLane 插件支持的编译与测量表示交给框架编译器,或用于选择合适的线路写法

门集和连接关系用于了解硬件;设备选项用于调整实验的执行方式。本源真机提供的 mapping、optimization、amend 等布尔选项,可以在选定设备后通过 configuration_schema 查询和设置。

读懂 configuration_schema

每个专章都给出了读取 properties 的代码。找到要设置的字段后,查看它的类型、允许值、默认值和用途,再将所选值填入配置。下表说明各字段的读法。

字段阅读方法
properties字典中的键才是当前声明的选项;空字典表示当前响应未公开可调设备选项
typeboolean 使用 Python True / False;其他类型按声明填写
enum / constenum 给出允许值集合;const 指定固定值
default服务端声明的默认值。Qiskit 是否把字段放入 Options,还取决于插件实现;详见 Qiskit 专章
minimum / maximum字段允许的数值范围
description / title字段的用途说明或显示名称

本源逻辑线路可通过云端拓扑映射适配设备连接关系;Qiskit 固定物理布局使用 mapping=False、optimization=False,保持已编译的位置和线路。三个客户端专章分别展示具体写法。

读取时长、误差与功能信息

三个客户端都从平台读取统一的设备能力。平台整理厂商提供的硬件数据,SDK 将其呈现为 timing、noise、features 和 topology 等字段;显示已有对象时复用已读取的数据。

字段当前本源 Adapter 的处理用户解读
timing.durations从可读取的门时长整理,纳秒转换为秒查看已提供门及比特位置的执行时长
timing.dt采样周期;当前本源目录返回 NoneNone 表示当前未提供采样周期
noise.gate_error可用保真度按 1 − fidelity 转为误差字段了解平台记录的门误差估计
features按测量流程和设备声明整理,如 measurement、barrier、reset结合所用插件的操作支持选择线路写法
topology整理可用比特与连接关系选择物理布局时同时查看连接关系和门的可用位置

可选信息以设备返回的数据为准。空字段显示为“当前未提供”;查询时间记录本次读取时间,校准时间使用设备明确提供的时间。各专章同时展示平台能力和框架视图,方便按需查看。

逻辑编号与物理编号要分别理解

写法含义
Qiskit:QuantumCircuit(2) 的 0、1默认是两个逻辑比特;需要物理布局时使用该插件公开的 physical_qubits / initial_layout
PennyLane:wires=["a", "b"]两条逻辑 wire 的标签;插件生成连续逻辑编号,再交给厂商完成拓扑映射
Core:qreg q[12]、h q[1]OpenQASM 寄存器索引;物理程序还需按 Core 物理输入约定声明其表示方式

需要使用指定的一组物理比特时,使用 Qiskit 的 physical_qubits 或 initial_layout 布局入口。PennyLane 工作流提交逻辑线路,由云端拓扑映射将线路适配到设备连接关系。

查询时机、缓存和权限

Core 调用 get_backend_class / get_capabilities 可重新读取平台目录。Qiskit backend 和 PennyLane dev 会缓存各自的能力对象;需要按新数据准备实验时,创建新的框架对象。平台目录按服务端刷新策略更新。已有实验继续使用原准备对象查询结果。

能力查询用于读取设备信息。prepare 会上传线路、检查本次配置并生成报价;查看报价后,通过 confirm 执行实验。

API 参考

设备能力对象的属性、查询方法和返回类型集中收录在 API 参考中;接口实现与测试依据可在同一文档中查阅。

下载本页 Jupyter Notebook

收录本页 Python 示例与说明,便于在 Jupyter Notebook 中学习和运行;安装命令保留为说明。

下载《设备能力概念》Notebook(.ipynb)

输入关键词;所有搜索都在本机完成。