We introduce qclab++, a light-weight, fully-templated C++ package for GPU-accelerated quantum circuit simulations. The code offers a high degree of portability as it has no external dependencies and the GPU kernels are generated through OpenMP offloading. qclab++ is designed for performance and numerical stability through highly optimized gate simulation algorithms for 1-qubit, controlled 1-qubit, and 2-qubit gates. Furthermore, we also introduce qclab, a quantum circuit toolbox for Matlab with a syntax that mimics qclab++. This provides users the flexibility and ease of use of a scripting language like Matlab for studying their quantum algorithms, while offering high-performance GPU acceleration when required. As such, the qclab++ library offers a unique combination of features. We compare the CPU simulator in qclab++ with the GPU kernels generated by OpenMP and observe a speedup of over $40\times$. Furthermore, we also compare qclab++ to other circuit simulation packages, such as cirq-qsim and qibo, in a series of benchmarks conducted on NERSC's Perlmutter system and illustrate its competitiveness.
翻译:我们引入 qclab+++, 这是用于 GPU 加速量子电路模拟的轻量级、 全调的 C++ 软件包。 代码提供了高度的可移动性, 因为它没有外部依赖性, 而 GPU 内核是通过 OpenMP 卸载生成的 。 qclab++ 设计为性能和数字稳定性, 其方法是对 1 Q 位、 控 1 位 和 2 位 门 进行 高度优化的门模拟算法 。 此外, 我们还引入 qclab 和 OpenMP 生成的 GPU 内核电路工具箱, 并观察到40 美元以上的超时速 Qclab++ 。 这为用户提供了使用像 Matlab 这样的脚本语言来研究其量子算法的灵活性和方便度, 同时在必要时提供高性能的 GUPUP 。 因此, qlab++ 图书馆提供了独特的组合。 我们比较了 Qclab+++ 的CP, 和 常规 的 系统 。</s>