Last Updated: 01/24/2026
Pilot-Quantum is presented as a Quantum-HPC middleware framework designed to address the challenges of integrating quantum and classical computing resources. It focuses on managing heterogeneous resources, including diverse Quantum Processing Unit (QPU) modalities and various integration types with classical resources, such as accelerators.
Requirements:
* Currently only SLURM clusters are supported
* Setup password-less SSH, e.g., using sshproxy on Perlmutter.
Create a virtual environment and install dependencies:
# Install uv if not already installed
# Create virtual environment
uv venv .venv
# Activate the environment
source .venv/bin/activate # On Linux/Mac
# or
.venv\Scripts\activate # On Windows
# Install pilot-quantum in editable mode
uv pip install -e .# Create virtual environment
python3 -m venv .venv
# Activate the environment
source .venv/bin/activate # On Linux/Mac
# Install pilot-quantum in editable mode
pip install -e .For development with additional testing dependencies:
# With uv
uv pip install -e ".[dev]"
# With pip
pip install -e ".[dev]"To run the PennyLane examples:
# With uv
uv pip install -e ".[examples]"
# With pip
pip install -e ".[examples]"Here is a simple script that launches Pythonic functions as tasks on remote SLURM nodes using Pilot-Quantum framework.
from pilot.pilot_compute_service import ExecutionEngine, PilotComputeService
pilot_compute_description = {
"resource": "slurm://localhost",
"working_directory": WORKING_DIRECTORY,
"number_of_nodes": 2,
"cores_per_node": 1,
"queue": "premium",
"walltime": 30,
"type": "ray",
"project": "sample",
"scheduler_script_commands": ["#SBATCH --constraint=cpu"]
}
def pennylane_quantum_circuit():
# pennylane circuit definition...
pass
# Pilot-Creation
pcs = PilotComputeService(execution_engine=ExecutionEngine.RAY, working_directory=WORKING_DIRECTORY)
pcs.create_pilot(pilot_compute_description=pilot_compute_description_ray)
# Task submission
tasks = []
for i in range(10):
k = pcs.submit_task(pennylane_quantum_circuit, i, resources={'num_cpus': 1, 'num_gpus': 0, 'memory': None})
tasks.append(k)
# Wait for tasks to complete
pcs.wait_tasks(tasks)
# Terminate the pilot
pcs.cancel()Your default Python environment (activated in .bashrc or shell profile) should contain all Pilot-Quantum and application dependencies for remote execution on compute nodes.