这个项目能做什么

PRISM-Q是一个用Rust编写的量子电路模拟器,提供Python绑定。它根据电路结构自动选择后端,运行多遍门融合流水线,并在内循环中使用AVX2、FMA和BMI2内核(ARM64上使用NEON)。CUDA支持是可选的,涵盖态矢量、稳定子(实验性)和密度矩阵后端。输入为OpenQASM 3.0,兼容2.0语法,电路可导出回OpenQASM 3.0。 可通过cargo(prism-q)或pip(prism-q)安装。默认功能集包括Rayon并行和faer SVD;无默认功能构建为单线程且依赖最少。gpu功能需要CUDA Toolkit 12.x或更新版本。 后端包括:态矢量(通用电路,O(2^n))、稳定子(仅Clifford,O(n^2))、分解稳定子(具有独立块的Clifford)、稀疏(少量活跃振幅)、MPS(低纠缠或一维,O(n*chi^2))、乘积态(无纠缠)、张量网络(低树宽)、分解(部分纠缠)、密度矩阵(精确噪声演化,O(4^n),仅显式调度)和分布式态矢量(超出单主机内存,MPI秩,精确结果)。BackendKind::Auto是默认设置;态矢量内存预算为机器物理内存的一半,可通过PRISM_MAX_SV_QUBITS覆盖。 OpenQASM解析器接受stdgates.inc门集、常见受控和多受控变体、Qiskit导出器门、IonQ和Google/Cirq原生门名称、分解的多指令门、IBM旧版u1/u2/u3以及用户定义的门声明。inv @、ctrl @和pow(k) @修饰符可链式应用于直接门。qasm_export::to_qasm3将电路写回为OpenQASM 3.0。 功能包括shots和样本计数、期望值和边缘分布、带重绑定的参数化电路,以及通过伴随方法或参数平移规则计算的梯度。GPU功能通过NVRTC在运行时为设备的计算能力编译PTX;大小交叉点使小子电路保留在CPU上。提供了电路宏基准、门微基准和GPU调度的基准测试。路线图提到中电路分支、多GPU和分布式GPU执行、ROCm移植,以及分布式后端上的噪声shots。