There has been a rapid rise in the development of quantum simulators, both to validate the quantum hardware and also to explore the limitations of classical simulation, thereby the regime of quantum advantage. Quantum simulators which are HPC (High Performance Computing) compliant are chosen and their performance is benchmarked on various compute capabilities as offered by the HPC.
Notebooks provide the Time to Solution (TtS) performance of the quantum simulators obtained using a containerized toolchain wherein each simulation package accepts the quantum algorithm in the QASM2 format, the simulation package and the compute capability on the HPC. The containerized toolchain allows for portability of the benchmarking scheme, reproducibility of the performance data, is modular and easily extensible to include other packages.
# | Package | Language | Singlethread | Multithread | GPU | MPI | Multi-GPU | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Single Precision | Double Precision | Single Precision | Double Precision | Single Precision | Double Precision | Single Precision | Double Precision | |||||
1 | Qiskit | Python | ||||||||||
2 | Cirq | Python | ||||||||||
3 | Qsimcirq | Python | ||||||||||
4 | Pennylane | Python | ||||||||||
5 | Pennylane-lightning | C++ | ||||||||||
6 | Qibo | Python | ||||||||||
7 | Qibojit | Python | ||||||||||
8 | Yao | Julia | ||||||||||
9 | Quest | C | ||||||||||
10 | Qulacs | Python | ||||||||||
11 | Intel-QS | C++ | ||||||||||
12 | Projectq | Python | ||||||||||
13 | Qcgpu | Python | ||||||||||
14 | HiQ | Python | ||||||||||
15 | Hybridq | Python | ||||||||||
16 | SV-Sim | Python | ||||||||||
17 | Qrack | C++ | ||||||||||
18 | Qpanda | Python | ||||||||||
19 | CuQuantum | Python | ||||||||||
20 | myQLM (py) | Python | ||||||||||
21 | myQLM (C++) | C++ | ||||||||||
22 | Braket | Python | ||||||||||
23 | Q++ | C++ |