Overview

Quantum computing is a cutting-edge field that leverages the principles of quantum mechanics to process information in fundamentally new ways. Unlike classical computers, which use bits (0s and 1s) for computation, quantum computers use qubits, which can exist in a superposition of states. This enables quantum computers to perform certain types of calculations exponentially faster than classical machines. Quantum computing has the potential to revolutionize multiple industries by solving problems that are difficult or impossible for classical computers. Some key applications include:

As quantum processors are still in the development phase, quantum simulators become an important tool to understand quantum computers. Quantum simulators allow broadening our understanding on how quantum computers operate as well as help in development, evaluation, optimization and validation of new quantum algorithms through new quantum circuit designs. Researchers and companies alike are eager to see how and where quantum computing provides computational advantage over classical computing.

Services

We provide workshops and learning resources for getting started with quantum computing. Details about the workshop on Quantum Machine Learning can be found here and workshop on Quantum Optimization can be found here. We also offer a variety of leading quantum simulators that can be used to test your own quantum circuits and algorithms on our HPC systems.

Simulators

Each simulator has its own advantages to provide, which makes choosing the best simulator for your task possible.

  • Qiskit-aer is developed by IBM and is the most widely adopted SDK currently 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 pretty well. It also has multiple simulators included in its toolkit, e.g. qsim which is faster than the default simulator.
  • QuTip is designed with a focus on physics applications, and thus has a massive library of methods for that goal.
  • Qibo is another large open-source quantum ecosystem with many applications and tutorials to explore, and a decently fast simulator to boot on CPUs and GPUs.

We currently provide the following simulators as containers:

SimulatorPath to the containers
Qiskit-CPU/sw/container/quantum-computing/Qiskit-CPU/qiskit-cpu.sif
Qiskit-GPU/sw/container/quantum-computing/Qiskit-GPU/qiskit-gpu.sif
Qulacs-CPU/sw/container/quantum-computing/Qulacs-CPU/qulacs-cpu.sif
Qsim/sw/container/quantum-computing/Qsim/qsim.sif
QuTip/sw/container/quantum-computing/Qutip/qutip.sif
Qibo-CPU/sw/container/quantum-computing/Qibo-CPU/qibo-cpu.sif
Qibo-GPU/sw/container/quantum-computing/Qibo-GPU/qibo-gpu.sif

Note: Cirq code can be run inside the qsim.sif container.

All containers are prebuilt with common data science packages such as scipy, numpy, matplotlib, and pandas.

Access

Jupyter-HPC

  1. Login at https://jupyter.hpc.gwdg.de/
  2. Select the ‘HPC Project (Username)’.
  3. In the dropdown ‘Job Profile:’, choose either GWDG HPC or GWDG HPC with GPU, depending on whether you want to use CPU or GPU.
  4. Tick the box ‘Custom Apptainer Container Location’, enter the path of your container e.g. /sw/container/quantum-computing/Qiskit-CPU/qiskit-cpu.sif. The complete list of available simulators is given above.
  5. If you are satisfied with the rest of the server settings, click ‘Start’ to launch your server.
  6. Once launching is done, you can execute your notebooks within the container environment, or run your code in the terminal. Note that this time in the terminal it says Apptainer>; don’t mind that, it is the same container platform as Singularity.

SCC

Singularity is the container platform provided on the SCC. Run the following commands in the terminal:

module load singularity
singularity exec --bind /scratch /path/to/container/ python /$YOUR_FILE_PATH

You should now have in the terminal Singularity> or Apptainer>. This means you are inside the container and can run your code using the packages present in the container. You can also use Slurm’s sbatch to queue jobs.

On the SCC some simulators are also available as Spack modules. Please refer to the Spack documentation for further information.

The spack system can be loaded as follows:

module load spack-user
source $SPACK_USER_ROOT/share/spack/setup-env.sh

The simulators can be loaded with spack load py-qsim or spack load py-qiskit.

NHR

Apptainer is the container platform provided on the NHR. Run the following commands in the terminal:

module load apptainer
apptainer exec --bind $WORK,$TMPDIR /path/to/container/ python /$YOUR_FILE_PATH

You should now have in the terminal Apptainer>. This means you are inside the container and can run your code using the packages present in the container. You can also use Slurm’s sbatch to queue jobs.

Support

We can assist on many inquiries such as:

  • Basic knowledge of quantum computing and its history
  • Creating quantum circuits and algorithms
  • Setting up your simulator environments

If your desired simulator is not available or for other general inquiries, feel free to contact us.

Infrastructure

The GWDG operates multiple HPC systems. Two systems are available to universities and publicly funded research institutes:

  • SCC: The SCC is available to members of the University of Göttingen and the Max Planck Institutes.
  • Emmy: Access to Emmy is granted based on a project basis.

Information on how to access the HPC systems can be found here.