2. 量子编译流程与性能关键路径

量子程序在真正作用于量子芯片之前,必须经历一条比经典编译更复杂的转换链。经典编译通常只关心指令选择、寄存器分配和指令调度,而量子编译还要处理量子比特的物理约束、连通性限制、门分解精度、脉冲级时序以及退相干窗口。理解这条链路上每个阶段的输入输出与性能瓶颈,是后续做性能分析和 Benchmark 的前提。

编译阶段划分

从高级量子程序到物理脉冲,主流量子编译栈可以划分为五个阶段。第一阶段是前端解析与中间表示:把 Qiskit、Cirq、Q# 等高级语言或 OpenQASM 文本解析为量子中间表示(QIR 或 DAG)。这一阶段的核心产物是带量子比特、门操作和测量指令的逻辑线路,此时比特还是逻辑编号,不绑定物理位置。第二阶段是逻辑优化:在保持语义等价的前提下消去冗余门、合并相邻旋转门、消除恒等操作,例如把两个相邻的 X 门抵消,或把 Rz(θ₁)·Rz(θ₂) 合并为 Rz(θ₁+θ₂)。第三阶段是物理映射与路由:把逻辑比特分配到满足耦合图约束的物理比特上,并在不满足直接连通的门之间插入 SWAP 链。第四阶段是门分解与调度:把任意两比特门分解为目标硬件原生门集(如 CX、ECR、iSWAP),并按硬件时序约束安排执行顺序。第五阶段是脉冲生成:把调度后的门序列翻译为控制波形,包括微波脉冲包络、相位、幅度和读取窗口。

量子编译五阶段流水线与性能关键路径 ① 前端解析 QASM/QIR → DAG 逻辑比特 · 逻辑门 ② 逻辑优化 门合并 · 抵消 旋转角化简 ③ 映射与路由 逻辑→物理比特 SWAP 插入 ④ 分解与调度 原生门集分解 时序约束排布 ⑤ 脉冲生成 波形包络 · 相位 读取窗口 瓶颈:解析开销 大线路 DAG 构建 内存占用高 瓶颈:优化深度 多轮迭代耗时 收益递减 瓶颈:SWAP 开销 路由深度↑ 保真度↓ 瓶颈:分解误差 近似门精度 门数膨胀 瓶颈:脉冲校准 波形失真 串扰耦合 端到端性能度量框架 编译时间 T_compile 线路深度 D 门数量 N_gate 保真度 F SWAP 数 综合指标:F_end = Π F_gate × Π F_readout,受退相干时间 T₂ 约束

各阶段性能瓶颈识别

前端解析阶段的主要瓶颈是 DAG 构建的内存与时间开销。当线路包含数万个门时,逐门插入并维护依赖边会带来 O(N²) 级别的邻接检查,实际编译中常表现为解析时间随门数超线性增长。逻辑优化阶段的瓶颈在于迭代深度:多数优化器采用多轮 peephole 重写,每轮都要遍历整个 DAG,收益随轮次递减,但耗时线性累加。映射与路由阶段是整条链路中最容易失控的环节,因为 SWAP 插入数量直接决定线路深度和保真度衰减。以 27 比特超导芯片的耦合图为例,若逻辑线路中存在大量跨远距离比特的两比特门,路由算法可能插入数十个 SWAP,使原本深度为 50 的线路膨胀到 200 以上。门分解阶段的瓶颈是近似精度与门数膨胀的权衡:一个任意 SU(4) 两比特门分解为 CX 和单比特门时,通常需要 3 个 CX,若硬件原生门为 ECR,还需额外转换,误差随之累积。脉冲生成阶段的瓶颈则来自波形校准与串扰:相邻比特同时施加脉冲时,微波泄漏会导致相位偏移,需要额外的动态解耦或串扰补偿脉冲。

端到端性能度量框架

度量量子编译性能不能只看编译时间,也不能只看线路深度,而应建立覆盖“编译开销—线路质量—执行保真度”的三层框架。第一层是编译时间 T_compile,从输入 QASM 到输出脉冲序列的墙钟时间,反映工具链的工程效率。第二层是线路质量指标,包括线路深度 D、两比特门数量 N₂、SWAP 数量 N_swap 和总门数 N_gate。第三层是执行保真度 F_end,可由各门保真度与读取保真度连乘估算:F_end ≈ Π F_gate × Π F_readout。在超导硬件上,单比特门保真度约 99.9%,两比特门约 99.0%~99.5%,读取约 98%~99%。若一条线路包含 100 个两比特门,仅门误差就使 F_end 降至约 0.99¹⁰⁰ ≈ 0.366,因此减少两比特门和 SWAP 是提升端到端保真度的关键。

度量时应固定硬件后端与编译选项,否则不同后端之间的保真度基线不可比。建议在 Benchmark 中同时记录逻辑线路与物理线路的门数比,该比值直接反映路由与分解的膨胀程度。

一个可复用的度量记录示例

下面给出一个编译性能记录表的字段示例,用于在 Benchmark 中逐条线路采集数据。字段均为编译输出可直接获取的量,不依赖额外插桩。

字段含义示例值
circuit_id线路标识qft_8
T_compile_ms端到端编译耗时1240
D_logical逻辑线路深度86
D_physical物理线路深度312
N2_logical逻辑两比特门数28
N2_physical物理两比特门数96
N_swap插入 SWAP 数34
F_est估算端到端保真度0.71

以 qft_8 为例,逻辑深度 86、物理深度 312,膨胀比约 3.6;两比特门从 28 增至 96,其中 34 个 SWAP 各消耗 3 个 CX,是膨胀的主要来源。若把路由策略从最短路改为噪声感知路由,在耦合图上优先选择保真度更高的边,虽然 SWAP 数可能略增,但 F_est 反而可能提升。这说明性能度量必须把“门数”和“保真度”放在一起看,单看深度或单看编译时间都会得出片面结论。

估算保真度 F_est 只是上界近似,未计入串扰、泄漏和动态解耦误差。实际 Benchmark 应以硬件执行后的测量结果为最终判据,F_est 用于编译阶段的快速筛选与回归对比。