About Qulacs¶
Qulacs is a Python/C++ library for fast simulation of large, noisy, or parametric quantum circuits. Qulacs is developed at QunaSys, Osaka University, NTT, and Fujitsu.
Qulacs is licensed under the MIT license.
Features¶
Fast quantum circuit simulation with parallelized C/C++ backend
Noisy quantum gate for simulation of NISQ devices
Parametric quantum gates for variational methods
Circuit compression for fast simulation
GPU support for fast simulation
Many utility functions for research
Performance¶
The time for simulating random quantum circuits is compared with several quantum circuit simulators in November 2020.
See the benchmark repository and Section VI and VII of our paper for the detail of this benchmark.
Note that the plots with names ending with “opt” and “heavy opt” perform circuit optimization for fast simulation, where the time for optimization is included in the execution time.
Single-thread benchmark¶
Multi-thread benchmark¶
GPU benchmark¶
Requirement¶
C++ compiler (gcc or VisualStudio)
gcc/g++ >= 7.0.0 (checked in Linux, MacOS, cygwin, MinGW, and WSL)
Microsoft VisualStudio C++ 2015 or 2017
Python 2.7 or 3.x
CMake >= 3.0
Git
(option) CUDA >= 8.0
(option) AVX2 support
If your system supports AVX2 instructions, SIMD optimization is automatically enabled.
If you want to enable GPU simulator, install qulacs through qulacs-gpu
package or build from source.
Note that qulacs-gpu
includes a CPU simulator. You don’t need to install both.
If you encounter some troubles, see FAQ.
How to cite¶
Please cite this arXiv paper: Qulacs: a fast and versatile quantum circuit simulator for research purpose.