QPanda3
Supported by OriginQ
载入中...
搜索中...
未找到
欢迎来到 QPanda3

QPanda3 文档

中文 English

QPanda3 是一个高性能量子编程框架,通过优化线路编译、二进制指令流中间表示(OriginBIS)和硬件感知执行策略来提高量子计算效率。这些工程优化显著提高了处理速度和系统性能,解决了 NISQ 时代的关键挑战。与 OpenQASM 2.0 相比,核心创新 OriginBIS 将编码速度提高了 86.9 倍,解码速度提高了 35.6 倍,从而实现了更高效的数据处理、更低的内存开销和更高的通信效率。这直接提高了量子线路的执行效率,使大规模量子模拟更加可行。全面的基准测试表明了 QPanda3 的卓越性能:量子线路构建速度比 Qiskit 快 1.30 倍,执行速度提高 1.03 倍,转译效率提高 10.70 倍。值得注意的是,在 2D 网格拓扑上编译 118 量子比特的 W-state 电路时,QPanda3 甚至实现了 597.41 倍加速,突显了其大规模处理复杂量子工作负载的能力。通过将高速量子处理与模块化和可扩展的软件架构相结合,QPanda3 在现代的 NISQ 设备和未来的容错量子计算之间架起了一座实用的桥梁。它促进了金融建模、材料科学和组合优化等现实世界的应用,而其高稳定和可扩展的设计为工业应用和基于云的部署提供了支持。

QPanda3 是一个量子计算库,旨在为开发者提供与量子计算相关的工具和接口。

概述

  • 提高量子设备的计算能力
    • 通过高效的编译技术、优化的量子比特映射策略和量子门压缩算法,QPanda3 使 NISQ 设备能够更高效地执行目标算法,进而为具体的计算任务提供卓越的性能。
    • QPanda3 支持快速地量子线路编译。其速度比 Qiskit 2.0.1 更快。 更多相关详细信息,请参阅 QPanda3 与 Qiskit 2.0.1 的比较
    • QPanda3 延续 QPanda2 的底层实现,支持对量子线路的高性能模拟。
  • 更优的量子计算软硬件协同设计
    • 与经典计算不同,量子计算的软件对硬件特性更敏感。 QPanda3 采用自适应的量子比特映射和硬件感知编译策略,确保在不同量子处理器上实现最佳执行,从而提高整体计算保真度。
    • QPanda3 支持量子逻辑门中的所有类型,包括单量子比特门、双量子比特门、控制门和 Oracle 门。
    • QPanda3 支持基本量子模拟器中的全部类型,包括单振幅模拟器、部分振幅模拟器、全振幅模拟器、噪声模拟器、密度矩阵模拟器和 GPU 模拟器,并且为它们提供了统一的执行方式。
    • QPanad3 支持量子线路分析。这使得开发更高效的量子程序和量子算法成为可能。
    • QPanda3 全面支持变分量子线路的相关功能,包括构建参数化量子线路、复用变分量子线路结构、表达式作为参数化量子门的门参数、给定参数值生成量子线路、计算哈密顿期望、计算梯度等实用功能。QPanda3在计算哈密顿期望和计算梯度值方面具有较高的效率
  • 突显量子优势
    • 尽管一些 NISQ 设备在某些问题上表现出了计算优势,但要实现大规模量子计算,还需要进一步的工程技术突破。QPanda3 采用模块化架构,可与未来的容错量子计算系统无缝集成,从而降低从 NISQ 到下一代量子技术的迁移成本。

基准测试

编译效率测试

benchpress 上进行的实验中,对于全连接拓扑,QPanda3 的编译速度平均比 Qiskit 快 7.03 倍,峰值加速达到 123.33 倍。 在方形拓扑中,其平均编译速度超过 Qiskit 的 15.87 倍,峰值达到 597.41 倍。对于重六边形拓扑,QPanda3 实现了平均 12.45 倍的加速,峰值达到 313.86 倍。在线性拓扑中,平均加速比为 7.43 倍,峰值加速比达到 374.48 倍。我们在已有的研究文献《QPanda3: A High-Performance Software-Hardware Collaborative Framework for Large-Scale Quantum-Classical Computing Integration》中介绍了更详细的实验内容。页面 Benchmark 引用了相关实验的最新实验结果。

QPanda3 vs Qiskit 2.0.1

梯度计算效率测试

Gradent calcuaton Time Comparison 显示了完成相同变分量子线路的梯度计算任务(横轴表示由总量子比特数和量子线路层数所确定的不同变分量子线路),QPanda3与其他量子计算相关的SDK(DeepQuantum、PennyLane-Lightning、PennyLane-Default、qiskit)所需平均用时的比较结果。该图表明,QPanda3在进行变分量子线路的梯度计算效率方面,具有明显优势。

Gradent calcuaton Time Comparison

使用方法

pyqpanda3 基于 C++ 开发,并具有以下系统环境要求。

Windows

软件 版本
Microsoft Visual C++ Redistributable x64 2015-2022
Python >= 3.9 && <= 3.13

Linux

软件 版本
GCC >=8.0
Python >= 3.9 && <= 3.13

Mac

软件 版本
clang >=15.0
Python >= 3.9 && <= 3.13

pyqpanda3 支持通过 pip 进行安装,安装命令如下:

pip install pyqpanda3

安装完成后,即可直接使用。以下是一个简单的使用示例:

from pyqpanda3.core import QCircuit, QProg, H, CNOT, measure, CPUQVM
# 创建一个量子线路
circuit = QCircuit()
# 构造 GHZ 态
circuit << H(0) # 在比特 0 上应用 Hadamard 门
circuit << CNOT(0,1) # 以 0 号比特为控制,1 号比特为目标,应用 CNOT 门
circuit << CNOT(1,2) # 以 1 号比特为控制,2 号比特为目标,应用 CNOT 门
# 创建量子程序并组合线路
prog = QProg()
prog << circuit
# 添加测量操作
prog << measure(0,0) << measure(1,1) << measure(2,2)
# 创建 QVM
qvm = CPUQVM()
# 运行量子程序并获取结果
qvm.run(prog,1000)
result = qvm.result().get_counts()
# 打印量子程序和结果
print(prog)
print(result)
定义 __init__.py:1

运行结果如下:

┌─┐ ┌─┐
q_0: |0>─┤H├ ───*── ───────┤M├ ───────
└─┘ ┌──┴─┐ └╥┘ ┌─┐
q_1: |0>──── ┤CNOT├ ───*────╫─ ─┤M├───
└────┘ ┌──┴─┐ ║ └╥┘┌─┐
q_2: |0>──── ────── ┤CNOT├──╫─ ──╫─┤M├
└────┘ ║ ║ └╥┘
c : / ════════════════════╩════╩══╩═
0 1 2
{'111': 489, '000': 511}