Quantum Computing Simulators

The ability of quantum computing is expanding day by day, and quantum computing is making the execution of some computational tasks possible, such as:

  • Simulating quantum systems (e.g., protein folding, molecular dynamics, and so on).
  • Optimization problems (e.g., traveling salesman, maximum cut, Grover’s search, and so on).
  • Cryptography (e.g., network security).
  • Machine learning (e.g., classifiers).

Quantum simulators are one of a kind for understanding the capability and diversity of quantum computers. Quantum simulators help us understand the logic behind quantum computing with various applications and how to operate and integrate them into our skill set.

Info

As we are in the Noisy Intermediate Scale Quantum (NISQ) era of quantum computing, many quantum computing algorithms and procedures exhibit exponential scaling, which can quickly become computationally intensive. Even for a small number of qubits, therefore, simulations can consume significant resources and time. The computational time that can drastically change (e.g., from 1 second to 1 hour) with a small increase in the qubit number (e.g., 10).

List of Simulators

The Quantum simulators can be used to test your own quantum circuits and algorithms on our HPC systems.

The following links provide an introductory-level document of the various quantum simulators we provide:

Each simulator has advantages, making it possible to choose the best simulator for your task.

  • Qiskit is developed by IBM and is currently the most widely adopted Software Development Kit (SDK) with constant updates, many methods and tutorials, and a good simulator (Qiskit-aer) which can be executed on CPUs and GPUs.
  • Qulacs is a very fast simulator across the board, can be executed on GPUs, and can optimise your circuits for even faster execution.
  • Cirq is developed by Google and can simulate circuits executed on real-world qubit architectures. It also has multiple simulators included in its toolkit, e.g., Qsim, which is faster than the default Cirq simulator and provides multi-threading capabilities.
  • QuTip is designed with a focus on physics applications, and thus has a massive library of methods for that goal.
  • Qibo is a large open-source quantum ecosystem with many applications and tutorials to explore. It is a decently fast simulator to boot on CPUs and GPUs.
Quantum Simulator
Core Advantages
Applications
Simulator of Choice for
Package Dependencies
Qiskit Aer (CPU & GPU)High-performance simulation for IBM Qiskit circuits, Supports GPU acceleration with CUDA, Integration with Qiskit ecosystem, Noise modeling for realistic simulations, Suitable for variational algorithms and benchmarkingStatevector, unitary, noise simulation and error mitigationGeneral user, educatorsqiskit, qiskit-aer, qiskit-algorithms, qiskit-machine-learning, qiskit-nature, qiskit-optimization, qiskit-finance, qiskit-dynamics, qiskit-ibm-runtime
Qulacs
(CPU & GPU)
Highly optimized for CPU with multi-threading and very fast gate operations, GPU acceleration for large-scale circuits, Designed for performance, Flexible API for circuit optimization, Supports Python and C++GPU acceleration, hybrid classical-quantum algorithmsOptimization researchersqulacs, qulacs-gpu
Cirq & QsimUser-friendly for Google’s quantum hardware simulations, Qsim optimized for speed with GPU support (less efficient than Qulacs), Excellent for NISQ device simulations, Supports tensor network simulations, Ideal for Google-like hardware setupsIntegration with Google’s quantum hardware, custom noise modelsNeural network researchers with tensorflowcirq, qsimcirq
QuTipFocused on open quantum systems simulation with a rich library for Lindblad and master equations, Limited GPU support, Best for quantum optics and decoherence studies, Not ideal for large-scale gate-based simulationsTools for modeling dissipative systems, time-dependent HamiltoniansPhysicistsqutip
QiboEasy-to-use Python interface with tensor network backends for CPU, Native GPU acceleration using Tensor Flow or CuPy, Strong focus on high-level abstractions, Supports hybrid quantum-classical workflows, Scalable with different backendSimple API, supports CPU/GPU, and distributed computing, error mitigationBeginners, educatorsqibo , qibojit

How to Access

All simulators are provided as containers. Any system account, as applied for and instructed in Getting an account, has access to the simulator containers. Users can then choose to access the simulators either via SSH (also refer to Logging in), or on JupyterHub. Additionally, each simulator container contains some commonly used data science packages such as scipy, numpy, matplotlib, pandas, etc.

The following table contains all the quantum simulator with their respect container path. Please use it in the further instructions below.

Quantum SimulatorCONTAINER_PATH
Qibo-CPU/sw/container/quantum-computing/Qibo-CPU/qibo-cpu.sif
Qibo-GPU/sw/container/quantum-computing/Qibo-GPU/qibo-gpu.sif
Qiskit-CPU/sw/container/quantum-computing/Qiskit-CPU/qiskit-cpu.sif
Qiskit-GPU/sw/container/quantum-computing/Qiskit-GPU/qiskit-gpu.sif
Qsim/sw/container/quantum-computing/Qsim/qsim.sif
Qulacs-CPU/sw/container/quantum-computing/Qulacs-CPU/qulacs-cpu.sif
Qutip/sw/container/quantum-computing/Qutip/qutip.sif
Info

We do not provide a separate container just for cirq as it can be imported in Qsim container.

Terminal

The standard software to run containers on our clusters is the Apptainer software. Please refer to the Apptainer page in our documentation for instructions how to use Apptainer. Use the quantum simulators path structure to find your desired simulator. The following code is sufficient to launch the container and execute your file:

module load apptainer
apptainer exec --bind $WORK,$TMPDIR <CONTAINER_PATH>
python <YOUR_FILE_PATH>

Jupyter.HPC

  1. Login at jupyter.hpc.gwdg.de with your AcademicCloud account.
  2. Keep the default ‘HPC project’ and ‘job profile’, and tick the box ‘Set your own Apptainer container location’.
  3. In the new available entry field, put the CONTAINER_PATH as defined above.
  4. Set the rest of the parameters to your liking and press start to spawn your server.

Welcome to the GWDG Quantum Computing Channel

We are excited to introduce our new Quantum Computing Channel, where you can stay up-to-date on the latest developments and advancements in the field of quantum computing. Our channel is a platform for researchers, students, and professionals to share knowledge, ideas, and experiences related to quantum computing.

Join Our Community

We invite you to join our community and become a part of our vibrant discussion forum. Here, you can engage with our team and other members of the quantum computing community, ask questions, share your expertise, and learn from others.

Stay Informed

Our channel will feature regular updates on the latest research, breakthroughs, and innovations in quantum computing. You will have access to exclusive content, including: Research papers and publications, conference proceedings and presentations, news and updates on new projects and initiatives.

Get Involved

We encourage you to participate in our discussions and share your thoughts, ideas, and experiences. Our community is a place where you can:

  • Ask questions and get answers from experts in the field
  • Share your research and get feedback from others
  • Collaborate with others on projects and initiatives
  • Stay informed about the latest developments in quantum computing

Join Our Matrix Channel

To join our Matrix channel, simply click on the link below. We look forward to welcoming you to our quantum computing community

Further Information

For an overview of our approach to quantum computing, refer to our user group page Quantum Computing.

Please refer to the FAQ page, or for more specific questions, contact us at support@gwdg.de.