Overview

Quantum computing is thought to allow for exponential faster execution of certain computational tasks, possibly solving problems intractable on classical processors. Promising applications for Quantum Computers are:

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 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

We currently provide the following simulators as containers:

  • Qiskit-aer (CPU & GPU) - qiskit-cpu.sif and qiskit-gpu.sif
  • Qulacs (CPU & GPU) - qulacs-cpu.sif and qulacs-gpu.sif
  • Cirq and Qsim - qsim.sif
  • QuTip - qutip.sif
  • Qibo (CPU & GPU) - qibo-cpu.sif and qibo-gpu.sif

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

  • Qiskit 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.

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

Access

SCC

All above containers can be found under the path /opt/sw/container/quantum-computing/. For your simulator of choice, append the container name to the path mentioned. A user can either run the container path of choice in the terminal or on Jupyter-HPC platform provided by GWDG.

Terminal

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

module load singularity
singularity exec \
  --bind /scratch /opt/sw/container/quantum-computing/$CONTAINER_DIRECTORY/$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 rev/23.12 # Only needed until January 8th 2024
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.

Jupyter-HPC
  1. Login at https://jupyter-hpc.gwdg.de/hub/login
  2. In the dropdown ‘Select a job profile:’, choose either GWDG HPC with own Container or GWDG HPC with GPU and own Container, depending on which container you want to run.
  3. In the new dropdown ‘Set your own Singularity container location (allowed characters: [a-zA-Z.~-])’, enter the path of your container e.g. /opt/sw/container/quantum-computing/$CONTAINER_DIRECTORY/$CONTAINER.
  4. If you are satisfied with the rest of the server settings, click ‘Start’ to launch your server.
  5. 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.

NHR

All above containers can be found under the path /sw/container/quantum-computing/. For your simulator of choice, append the container name to the path mentioned. Apptainer is the container platform provided on the NHR and is what we will need. Run the following commands in the terminal:

module load apptainer
apptainer exec --bind $WORK,$TMPDIR \
  /sw/container/quantum-computing/$CONTAINER_DIRECTORY/$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.

Contact