QPanda3
Supported by OriginQ
载入中...
搜索中...
未找到
Benchmark


该基准测试是基于 IBM 的 Qiskit benchpress。我们在其基础上为 pyqpanda3 添加了测试项,以完成相关测试。我们的测试代码可以在 https://github.com/OriginQ/benchpress 中找到。我们在文献《QPanda3: A High-Performance Software-Hardware Collaborative Framework for Large-Scale Quantum-Classical Computing Integration》中介绍了更详细的实验内容。本页引用了文章中的重要实验结果。

“Benchpress 开源基准测试套件包含 1,000 多项不同的测试。这些是由量子计算社区的其他成员设计的标准化基准测试。例如,Benchpress 比较 SDK 生成 QASMBench 线路、费曼线路和哈密顿线路的能力。它还包括测试 SDK 为特定硬件(例如 IBM 量子处理器的重六边形架构及其他通用量子比特布局)转译线路能力的测试。”

IBM Qiskit

量子线路构造

多个量子计算 SDK 在线路构造方面的表现如图 Quantum Circuit Construct 所示。可以发现,QPanda3、qiskit 和 cirq 通过了全部 7 个测试用例。 对于test_multi_control_circuit、test_bigint_qasm2_import、test_param_circSU2_100_build和test_clifford_build等4个测试用例,QPanda3的用时最少。对于测试用例test_QV100_qasm2_import、test_param_circSU2_100_build和test_QV100_build等3个测试用例,QPanda3用时多于qiskit,明显少于cirq、braket和bqskit。对于测试用例est_DTC100_set_build,QPanda3用时少于qiskit,多于cirq,是用时第二少的。该图显示了QPanda3在线路构造方面的优势。

Quantum Circuit Construct

操作

Benchpress 文献《Benchmarking the performance of quantum computing software》指出 Manipulate 是衡量 SDK 的一个重要指标。如下图 Manipulate 所示,只有 QPanda3 和 qiskit 通过了全部的 4 个测试用例。QPanda3在test_QV100_basis_change测试中,是用时最少的。对于test_random_clifford_decompose、test_multi_control_decompose和test_DTC100_twirling三个测试用例,QPanda3用时仅超过qiskit且与qiskit相差很小。该图表示,QPanda3在Manipulate指标上具有优势。

Manipulate

量子线路编译

在我们的实验中,只有 QPanda3 和 qiskit 通过了大部分关于编译的测试用例。我们将对应的实验结果绘制成了如图 Quantum Circuit Transpilation 所示的多张散点图,分别展示了对于不同的拓扑结构,QPanda3 和 qiskit 在 2Q Gate Count、2Q Gate Depth 和编译用时方面的差异。其中,各图中的蓝色虚线表示 QPanda3 和 qiskit 在对应指标下的数值是相等的。在蓝色虚线上方的点表示 QPanda3 对应的数值小于 Qiskit。

从图 Quantum Circuit Transpilation 可以发现,对于 2Q Gate Count 和 2Q Gate Depth,大部分散点密集地分布在蓝色虚线上或极其相近的位置,这说明 QPanda3 和 qiskit 的表现基本相同。然而,对于编译用时,图 Quantum Circuit Transpilation 中的四张子图中,散点全部分布在蓝色虚线上方,这说明 QPanda3 比 qiskit 具有更高的编译效率,而且这个特征不受拓扑结构的限制,同时对大量不同的线路均有效。同时,可以观察到,只有极个别测试用例使用 QPanda3 的用时会超过 10 秒。这些都说明 QPanda3 的编译效率十分高。

Quantum Circuit Transpilation