乐趣区

关于量子计算机:理解-DWave-量子退火机的计时

术语表

混合求解器(Hybrid solvers):量子 - 传统混合的求解器。
量子处理器(Quantum Processing Unit, QPU):计算单元
量子机器指令(Quantum Machine Instruction,QMI):包含 Ising 模型与 QUBO 的参数和退火周期参数的一类被传入 QPU 的信息。
退火周期(Annealing Cycle):从 QMI 传入到一次采样后果产生。对于一条 QMI 个别要执行屡次。
采样(Sample):量子计算机的状态是不确定的叠加态,须要屡次采样确定其散布。

本文摘自 D-Wave 的官网文档。如有疏漏,望批评指正。

Timing

大体流程

下图展现了简化版的计算流程,一个 QMI 被提交后进入队列,而后被解决进入 QPU 期待队列,最初失去采样或者可能还会后解决(后处理的工夫可能和 QPU 解决的工夫有交叠)。最终后果以及 QMI 执行信息被打包传回客户端。

后处理(postprocessing)在 DW2000Q 和晚期零碎上包含优化算法和采样算法;在先进零碎上,后处理只用于求出采样后果的能量。

D-Wave 零碎上解决一条 QMI 的全副工夫叫 服务工夫(service time)。一条语句的执行工夫在客户端看来包含服务工夫和网络提早。当 QMI 在 QPU 上执行时是独占的,因而真正的履行工夫是 QMI 在 QPU 上的拜访工夫(access time)。

拜访工夫

拜访工夫由两局部组成,一次 QPU 初始化以及屡次采样的工夫。

形式化写作 $T = T_p + T_s$(实际上官网写作 $T = T_p + \Delta + T_s$),其中 $T_p$ 是编程工夫(初始化),$T_s$ 是采样工夫,$\Delta$ 是底层初始化工夫(SAPI 称之为 qpu_access_overhead_time,DW2000Q 是 1-2ms,高级零碎 10-20ms)。其中采样工夫能够进一步划分为退火工夫(anneal)、读出工夫(readout)、热化工夫(thermalization,期待 QPU 回到初始温度)。对于 $R$ 次的读出(也就是 $R$ 次采样),示意为 $T_s/R \approx T_a + T_r + T_d$,$T_a$、$T_r$、$T_d$ 别离是退火工夫、读出工夫、延迟时间。延迟时间进一步分为 $T_d = readout\_thermalization + reduce\_intersample\_correlation + reinitialize\_state$,别离是期待从 QPU 读出状态并冷却回根本温度的工夫、缩小 spin-bath polarization effect 产生的样本与样本之间相干(corrlations)而减少的提早的工夫、以及复原初始状态的工夫。

复原初始状态能够用 reinitialize_state=false 关掉,这样就只在第一次初始化,前面的采样用上一轮的后果,即便如此还是须要工夫进行反向退火(reverse annealing)。

实操工夫剖析

当在 Leap 上点开问题统计,抉择 Timing 标签页,就会失去如图这些信息:

以这个采样次数设置为 100 次,应用了 Advantage_system1.1 的问题实例为例。
首先留神到两个工夫 QPU_ACCESS_TIMETOTAL_POST_PROCESSING_TIME,前者示意了该问题在 QPU 上的拜访工夫之和。后者示意后处理所破费的工夫,以官网的“二者交叠”的说法咱们不能简略的将二者相加看作是问题在 D-Wave 上破费的总工夫。

其中 QPU_ACCESS_TIME 蕴含了 QPU_PROGRAMMING_TIMEQPU_SAMPLING_TIME。前者代表了 QPU 初始化工夫,后者是采样工夫。采样工夫蕴含了 100 次 QPU_SAMPLING_TIME 采样的工夫,每次采样破费的工夫是 QPU_ANNEAL_TIME_PER_SAMPLEQPU_READOUT_TIME_PER_SAMPLE 以及 QPU_DELAY_TIME_PER_SAMPLE,也就是退火、读出、提早。咱们把这些工夫加起来验证一下 $$100 \times (20\mu s + 44\mu s + 21 \mu s) + 26.041 ms = 34.541 ms \approx 34.589 ms$$

须要留神后处理是以一批采样为单位的,而且 DW2000Q 和 Advantage System 计算方法也不同。

退出移动版