Spaces:
Runtime error
Runtime error
<html lang="en"> | |
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> | |
<h1 style="text-align: center;"> | |
Performance benchmarks of quantum simulators | |
</h1> | |
<p style="text-align: left;"> | |
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. | |
</p> | |
<p style="text-align: left;"> | |
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. | |
</p> | |
<hr class="mt-1 mb-1"/> | |
The benchmarked packages include: | |
<center> | |
<table class="table text-center"> | |
<thead> | |
<tr> | |
<th scope="col">#</th> | |
<th scope="col" class="h4">Package</th> | |
<th scope="col" class="h4">Language</th> | |
<th colspan="2" scope="col" class="h4">Singlethread</th> | |
<th colspan="2" scope="col" class="h4">Multithread</th> | |
<th colspan="2" scope="col" class="h4">GPU</th> | |
<th scope="col" class="h4">MPI</th> | |
<th colspan="2" scope="col" class="h4">Multi-GPU</th> | |
</tr> | |
<tr> | |
<th scope="col"></th> | |
<th scope="col"></th> | |
<th scope="col"></th> | |
<th scope="col" class="h6">Single Precision</th> | |
<th scope="col" class="h6">Double Precision</th> | |
<th scope="col" class="h6">Single Precision</th> | |
<th scope="col" class="h6">Double Precision</th> | |
<th scope="col" class="h6">Single Precision</th> | |
<th scope="col" class="h6">Double Precision</th> | |
<th scope="col"></th> | |
<th scope="col" class="h6">Single Precision</th> | |
<th scope="col" class="h6">Double Precision</th> | |
</tr> | |
</thead> | |
<tbody> | |
<tr> | |
<th scope="row">1</th> | |
<td>Qiskit</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
</tr> | |
<tr> | |
<th scope="row">2</th> | |
<td>Cirq</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">3</th> | |
<td>Qsimcirq</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">4</th> | |
<td>Pennylane</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">5</th> | |
<td>Pennylane-lightning</td> | |
<td>C++</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">6</th> | |
<td>Qibo</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">7</th> | |
<td>Qibojit</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
</tr> | |
<tr> | |
<th scope="row">8</th> | |
<td>Yao</td> | |
<td>Julia</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">9</th> | |
<td>Quest</td> | |
<td>C</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">10</th> | |
<td>Qulacs</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">11</th> | |
<td>Intel-QS</td> | |
<td>C++</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">12</th> | |
<td>Projectq</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">13</th> | |
<td>Qcgpu</td> | |
<td>Python</td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">14</th> | |
<td>HiQ</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">15</th> | |
<td>Hybridq</td> | |
<td>Python</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">16</th> | |
<td>SV-Sim</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
</tr> | |
<tr> | |
<th scope="row">17</th> | |
<td>Qrack</td> | |
<td>C++</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">18</th> | |
<td>Qpanda</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">19</th> | |
<td>CuQuantum</td> | |
<td>Python</td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
</tr> | |
<tr> | |
<th scope="row">20</th> | |
<td>myQLM (py)</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">21</th> | |
<td>myQLM (C++)</td> | |
<td>C++</td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">22</th> | |
<td>Braket</td> | |
<td>Python</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
<tr> | |
<th scope="row">23</th> | |
<td>Q++</td> | |
<td>C++</td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td><i class="fa fa-check-circle-o green"></i><span class="ms-1"></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
<td></td> | |
</tr> | |
</tbody> | |
</table> | |
</center> | |
The quantum algorithms benchmarked include: | |
<ul class="list-group list-group-flush"> | |
<li class="list-group-item">Dynamics of the Heisenberg model</li> | |
<li class="list-group-item">Random Quantum Circuit as in the Google Sycamore quantum advantage experiment</li> | |
<li class="list-group-item">Quantum Fourier Transform</li> | |
</ul> | |
<html> | |