Submitted:
18 September 2024
Posted:
19 September 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Fundamental Concepts of Quantum Computing
3. Leading Open-Source Simulators for Quantum Computing
- Innovative Features: Each simulator offers unique capabilities that set them apart, such as optimized algorithms, integration with widely-used programming frameworks, or novel approaches to handling quantum state representations. For example, qsim’s integration with Cirq and its ability to simulate up to 40 qubits on a high-performance workstation make it a significant tool for developers and researchers.
- Adoption and Partnerships: Some of these simulators are backed by major tech companies and have extensive partnerships within the industry, increasing their influence and credibility.
- Academic and Commercial Use: These tools are not only used in academic research but are also increasingly adopted by industries for practical applications, which demonstrates their effectiveness and robustness.
- Recent Updates and Community Support: The continual updates, community support, and documentation available for these tools contribute to their status as leaders in the field. This ongoing development ensures they remain relevant and useful as quantum computing technology evolves.
- Open Collaboration: Open-source projects encourage open collaboration among developers, researchers, and users. Ensuring the source code is available for modification and redistribution fosters a community-driven development approach. This can lead to rapid improvements and innovations, as a diverse group of contributors can work on the software.
- Platform 1: One of the nodes of the cluster Guane of Supercomputing Center of Universidad Industrial de Santander with the following configuration: two AMD EPYC 9554 64-Core Processors and 375 GB of RAM memory.
- Platform 2: A workstation with One Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz processor with 32 GiB of RAM and a NVIDIA Corporation GP106GL Quadro P2000.
3.1. Intel-QS
3.2. Quantum++
3.3. qsim
3.4. cuQuantum
3.5. QuEST
3.6. Qrack
3.7. Simulators Comparison
4. Implementing a Simulator
- Dynamic memory management. The primary purpose is to test the strategy of removing less probable states.
- Full State: The objective is to accelerate the simulations, avoiding the overhead introduced by the search of the states.
- Full State with OpenMP: The intention is to accelerate the simulations of the previous version.
- Full State with data compression: The purpose is to test a lossy compression library like ZFP.
- Full State with MPI: The main objective of this scenario is to distribute the amplitude vector among different computing nodes, allowing for a greater number of qubits.
- Full State with MPI and data compression: Here, data compression was incorporated into the previous scenario.
4.1. Representation of Fundamental Concepts
- Quantum Register: comprised of states vector and amplitudes vector.
- Quantum Gates: matrix representation of quantum gates. Only one-qubit and two-qubit gates were considered.
- Applying quantum gates to a quantum register.
4.2. Single Processor Case
4.2.1. State Vector
4.2.2. Quantum Gates
4.2.3. Applying a Quantum Gate to a Quantum Register
4.2.3.1. Applying Single-Qubit Gates
4.2.3.2. Applying Two-Qubits Gates
4.2.3.3. Qubits Order



4.2.4. State Prunning
4.2.5. Shared Memory Case
4.3. Distributed Memory Case
- The pair corresponding to the current state is locally stored.
- The pair corresponding to the current state is located in other process. In this case it is neccessary to communicate values and results.
4.3.1. Compressing The State Vector
4.4. Simulator Verification
4.4.1. Quantum Gates Tests
5. Results
5.1. Algorithm Selected for Testing
5.2. Test Platform
5.2.1. States Pruning
5.2.2. Full-State Quantum Register
5.2.3. Data Compression
5.2.4. Distribute the Quantum Register across Multiple Nodes
5.2.5. Combination of Distributed Memory and Shared Memory Approaches
5.2.6. Combination of Distributed Memory and Data Compression Approaches
5.2.7. Quantum Simulators Comparison
References
- Report, Q.C. Qbit Count. https://quantumcomputingreport.com/scorecards/qubit-count/, 2019.
- Quantiki. List of QC simulators. https://www.quantiki.org/wiki/list-qc-simulators, 2019.
- Fingerhuth, M. Open-Source Quantum Software Projects. https://github.com/qosf/os_quantum_software, 2019.
- Team, Q.O.S.F. Quantum Open Source Foundation. https://qosf.org/, 2019.
- Bergou, J.A.; Hillery, M. Introduction to the Theory of Quantum Information Processing; Springer Publishing Company, Incorporated, 2013.
- Artur Ekert, P.H.; Inamori, H. Basic concepts in quantum computation. Coherent atomic matter waves 2001, pp. 661–701.
- Shoshany, B. In layman’s term, what is a quantum state? https://www.quora.com/In-laymans-term-what-is-a-quantum-state, 2018.
- Williams, C.P. Explorations in Quantum Computing, Second Edition; Texts in Computer Science, Springer, 2011. doi:10.1007/978-1-84628-887-6. [CrossRef]
- Eleanor, R.; Wolfgang, P. Quantum Computing, A Gentle Introduction; The MIT Press, 2011.
- Guerreschi, G.G.; Hogaboam, J.; Baruffa, F.; Sawaya, N. Intel Quantum Simulator: A cloud-ready high-performance simulator of quantum circuits, 2020, [arXiv:quant-ph/2001.10554].
- Gheorghiu, V. Quantum++: A modern C++ quantum computing library 2014. [arXiv:1412.4704]. doi:10.1371/journal.pone.0208073. [CrossRef]
- team, Q.A.; collaborators. qsim, 2020. doi:10.5281/zenodo.4023103. [CrossRef]
- Jones, T.; Brown, A.; Bush, I.; Benjamin, S.C. QuEST and High Performance Simulation of Quantum Computers. Scientific Reports 2019, 9, 10736. doi:10.1038/s41598-019-47174-9. [CrossRef]
- Strano, D. Qrack. https://vm6502q.readthedocs.io/en/latest/, 2019.
- Díaz, G. Prototype Quantum Computing Simulator. https://github.com/diaztoro/TMFQSfullstate.git, 2024.
- Trieu, D.B. Large-Scale Simulations of Error-Prone Quantum Computation Devices. Dr. (univ.), Universität Wuppertal, Jülich, 2009. Record converted from VDB: 12.11.2012; Universität Wuppertal, Diss., 2009.
- Smelyanskiy, M.; Sawaya, N.P.D.; Aspuru-Guzik, A. qHiPSTER: The Quantum High Performance Software Testing Environment. CoRR 2016, abs/1601.07195. [CrossRef]
- Lindstrom, P. Fixed-Rate Compressed Floating-Point Arrays. IEEE Transactions on Visualization and Computer Graphics 2014, 20, 2674–2683. doi:10.1109/TVCG.2014.2346458. [CrossRef]















| Features | Intel-QS | Quantum++ | QuEST | Qrack | qsim |
|---|---|---|---|---|---|
| Optimization Techniques | Uses MPI for distributed computing, optimizes for multi-core and multi-nodes, supports MKL for mathematical operations | Employs template metaprogramming for compile-time optimizations, supports OpenMP for parallelization | Utilizes GPU acceleration, multithreading, and can be distributed across networked supercomputers | Leverages gate fusion and OpenCL for parallel execution across different hardware platforms | Optimizes simulations with gate fusion, AVX/FMA vectorized instructions, and OpenMP |
| Hardware Support | Optimized for high-performance computing systems, can be deployed on cloud infrastructures | Compatible with various architectures via C++ standardization, no specific hardware acceleration mentioned | Supports laptops to supercomputers, compatible with GPUs and distributed systems | Designed for broad compatibility with OpenCL-supporting GPUs and CPUs | Runs efficiently on high-core-count CPUs and potentially on any system supported by Cirq |
| Programming Model | Provides C++ and Python interfaces, supports state vector simulation | C++ library with emphasis on flexibility and ease of integration | Offers a C library that’s easy to integrate and extend, with optional Python bindings | C++ based, with a focus on integrating with other quantum computing frameworks like Qiskit | Integrated with Cirq, emphasizes ease of use in Python for simulating quantum circuits |
| Design Properties | Focuses on scalability and performance across different computational environments | Prioritizes modular, generic programming for ease of adaptation and maintenance | Designed for precision and versatility in quantum state manipulation | Prioritizes rapid prototyping and flexibility for embedding in various applications | Designed to simulate large quantum circuits with high precision |
| Unique Features | Supports dynamic circuit simulation and state manipulation during runtime | Highly adaptable to various quantum computing models due to generic programming approach | Extensible and supports detailed state analysis tools like fidelity and entanglement measures | Integrates classical computing elements within quantum simulations for enhanced functionality | Deeply integrated with Google’s quantum computing framework, providing extensive simulation capabilities |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).