Skip to content

Setting up Qaptiva Access

Qaptiva is the device that enables access to the quantum computing resources on JUNIQ facility. This guide will walk you through setting up access to gate-based quantum computers, the Pasqal quantum simulator as well as several digital and analog quantum computer emulators using Qaptiva.

Overview

Qaptiva provides access to various quantum processing units (QPUs) including:

  • Juspark: Gate-based quantum processor
  • Pasqal: Neutral atom quantum computer
  • Quantum Emulator: Digital twins of quantum devices

Prerequisites

Before setting up Qaptiva access, you need:

  1. JuDoor account: Create an account if you don't have one
  2. Project membership: Join a project with Qaptiva access
  3. Certificate files: Received via email after getting project approval.

Certificate Setup

After joining the project, you'll receive an email with link to a tar file similar to the following image. Qaptiva Certificate Email

Warning

The email might take up to two hours after signing the usage agreement.

Download the tar file and extract it to a known location. In this tar file you'll find the following files:

  • A configuration file (config.ini)
  • Your personal client certificate (.cer) and key (.key).
  • An installation script install_certificates.py
  • README.md with full details

Certificate Security

Keep your certificate files secure and do not share them with others, it represents your identity. These provide access to quantum computing resources.

Installing Certificates

On a terminal, navigate to the directory where you extracted the tar file and run the installation script:

python3 install_certificates.py install

Testing Your Setup

To verify your certificate installation and test Qaptiva access, you'll need to set up the required software packages. Choose the environment that matches your setup:

JUNIQ Cloud already provides pre-installed quantum computing modules. You have two ways of accessing them, via Jupyter Notebooks or in the terminal. Choose the tab that matches your workflow.

When using Jupyter Notebooks in JUNIQ Cloud:

  1. Select kernel: When creating a new notebook, select the PyQuantum kernel
  2. Pre-installed packages: myQLM and related packages are already available

When running your scripts on the command line in JUNIQ Cloud, load the right modules:

# Load modules
module load Stages/2025 GCC/13.3.0 ParaStationMPI/5.10.0-1 myqlm/1.11.2

And then run your script.

For local development environments, you'll need to install myQLM and set up a Python environment.

# Create virtual environment
python -m venv <path_to_venv>
source <path_to_venv>/bin/activate

# Install myQLM
pip install myqlm==1.11.2

Using Virtual Environments

It's recommended to use a virtual environment for Python projects to manage dependencies. You can try alternative tools like conda/mamba or uv for environment management as well which allows you to have Python interpreter independent of the system Python. This is helpful for avoiding conflicts arising from system upgrades.

Sending a simple test job

Run the test script to verify your connection:

qlmaas_test.py  # Prepend an exclamation mark  (`!qlmaas_test.py`) in Jupyter notebooks

Expected output:

Remote QPU successfully created
Submitted a new batch: QCJob3888
Bell pair circuit successfully submitted to the remote QPU
Result downloaded:
 -> |00> - 0.4999999999999999
 -> |11> - 0.4999999999999999
Test successful

Troubleshooting Setup Issues

Debugging Connection Issues

If the test fails, systematically check each component of your setup using the steps below.

If the test fails, check:

  1. Certificate location:
ls ~/.ssl/
# Should show: qlmaas.cer qlmaas.key
  1. Configuration location:
ls ~/.qlmaas/
# Should show: config.ini
  1. Permissions:
ls -la ~/.ssl/qlmaas.key
# Should show: -rw------- (600 permissions)

Getting Help

Documentation Resources

Example Notebooks