跳转至

08 CalSet

目的

本章定义 CalSet 校准集抽象。

角色

CalSet 是规范性的运行时校准 sidecar。它携带版本化、与执行相关的校准引用,这些信息不适合仅通过 OpenQASM 主文本稳定表达。

参考草案将 calset.json 定义为版本化运行时校准集。它承担的职责,是在某一具体校准状态下,为 canonical 语义的实现提供必要的执行上下文。

版本化与执行角色

CalSet 应具备版本与时间属性。至少应标识:

  • 校准集标识
  • 平台类型
  • 生成时间或有效时间
  • 在必要时提供适用设备、站点或目标范围

这一版本化角色是规范性的,因为回放、审计与可复现性都依赖于对运行时校准上下文的明确标识。

典型内容

一个校准集可以包含:

  • 单 qubit 或单 site 的跃迁参数
  • 脉冲幅度与持续时间
  • 失谐、相位或波长引用
  • 读出阈值或 discriminator 标识
  • 成对 entangler 参数
  • beam 或 channel 资源引用

从 Schema 角度看,参考草案主要把这些内容组织为三类:

  • 单目标或单 site 参数
  • 成对相互作用参数
  • beam、channel 或其他硬件资源引用

单目标与成对参数

单目标校准信息通常包括:

  • 跃迁频率或有效跃迁频率
  • 波长或失谐值
  • 驱动幅度
  • 脉冲持续时间
  • 相位偏移
  • 判决器或阈值信息

成对校准信息通常包括:

  • entangler 类型
  • 耦合强度
  • blockade 半径
  • 已校准门时长

这些值不会重新定义程序语义,而是为编译器、driver 与运行时提供实现该语义所需的校准上下文。

平台示例

  • 超导系统通常需要 qubit frequency、readout frequency、drive amplitude、pulse length 与 discriminator 引用
  • 离子阱系统可能需要有效跃迁频率、波长、失谐值、beam 标识与荧光阈值
  • 中性原子系统可能需要 Rydberg detuning、局域 beam map、tweezer 参数与 imaging threshold

这些例子刻意覆盖差异很大的物理平台,用来说明单一程序文本并不足以稳定承载全部运行时契约。

与 DeviceSpec 的关系

DeviceSpecCalSet 是互补关系,而不是可互换关系:

  • DeviceSpec 描述相对稳定的能力与约束边界
  • CalSet 描述随时间变化的校准与运行时实现上下文

将二者区分开,有助于同时保留清晰性与可回放性。

规范性规则

CalSet 必须可版本化、可回放,并可附着在执行 Bundle 上。它的存在是为了保留仅靠 canonical program 结构无法安全推断的运行时上下文。

因此,实现不应把 CalSet 视为附带元数据,而应把它视为执行输入的一部分。

边界规则

CalSet 提供的是执行引用与数值,而不是 canonical 程序语义本身。UQCI IR 仍然是语义真源,CalSet 只是实现该语义所需的运行时校准上下文。

同样,CalSet 不应退化成 backend-native 执行程序的隐藏容器。backend-native 具体实现仍属于 backend 模块与 driver。