PauLIB:面向泡利字符串处理的高性能库
处理大规模Pauli求和是量子化学、Pauli传播以及基于Pauli编译中的一个显著瓶颈。现有框架常受限于Python解释器开销,或使用哈希映射数据结构,这阻碍了SIMD向量化并增加了多线程合并的复杂性。该团队提出了PauLIB,一个仅含头文件的C++20库,通过三项关键架构选择来消除这些瓶颈:一种位压缩的二进制辛表示,将每个量子比特编码为两个比特,将Pauli乘法简化为按位异或与种群计数;一种排序数组布局,替代哈希映射以实现分支可预测的SIMD批量操作;以及一种结构体数组(SoA)内存布局,为显式SIMD向量化暴露连续的单词数组。在500量子比特的基准测试中,单次Pauli字符串乘法运算耗时25纳秒——在所有测试的成对数下,比PauliEngine快14倍,比Qiskit-flat快660倍。在所有测试规模下,哈密顿量外积乘法大约比PauliEngine快10倍,比Qiskit快45倍。贪心对易分组(变分算法中的主要预处理开销)得益于紧凑的位压缩表示,实现了比PennyLane高达21,000倍的加速。紧凑布局将500量子比特下包含一百万个项的哈密顿量的内存占用从1,036MB(Qiskit)降至142MB,减少了7.3倍,这直接使得在固定内存预算内能够处理更大的问题规模。PauLIB是开源的,并提供C++和Python接口。

