pilot-quantum

Pilot-Quantum: A Quantum-HPC Middleware for Workload and Task Management

https://github.com/radical-cybertools/pilot-quantum

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Pilot-Quantum: A Quantum-HPC Middleware for Workload and Task Management

Basic Info
  • Host: GitHub
  • Owner: radical-cybertools
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 4.84 MB
Statistics
  • Stars: 2
  • Watchers: 7
  • Forks: 1
  • Open Issues: 3
  • Releases: 0
Created almost 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Pilot-Quantum

Last Updated: 10/09/2024

Overview:

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 documentation, e.g., using sshproxy on Perlmutter.

Anaconda or Miniconda is the preferred distribution

Installation

Create environment with tool of your choice:

conda create -n pilot-quantum python=3.12

Requirement (in case a manual installation is required):

The best way to utilize Pilot-Quantum is Anaconda, which provides an easy way to install

pip install -r requirements.txt

To install Pilot-Quantum type:

python setup.py install

API Usage

Here is a simple script that launches Pythonic functions as tasks on remote SLURM nodes using Pilot-Quantum framework.

```

from pilot.pilotcomputeservice import ExecutionEngine, PilotComputeService

pilotcomputedescription = { "resource": "slurm://localhost", "workingdirectory": WORKINGDIRECTORY, "numberofnodes": 2, "corespernode": 1, "queue": "premium", "walltime": 30, "type": "ray", "project": "sample", "schedulerscriptcommands": ["#SBATCH --constraint=cpu"]
}

def pennylanequantumcircuit(): # pennylane circuit definition... pass

Pilot-Creation

pcs = PilotComputeService(executionengine=ExecutionEngine.RAY, workingdirectory=WORKINGDIRECTORY) pcs.createpilot(pilotcomputedescription=pilotcomputedescription_ray)

Task submission

tasks = [] for i in range(10): k = pcs.submittask(pennylanequantumcircuit, i, resources={'numcpus': 1, 'num_gpus': 0, 'memory': None}) tasks.append(k)

Wait for tasks to complete

pcs.wait_tasks(tasks)

Terminate the pilot

pcs.cancel()

```

Hints

Your default conda environment should contain all Pilot-Quantum and application dependencies. Activate it, e.g., in the .bashrc

Owner

  • Name: RADICAL Cybertools Project
  • Login: radical-cybertools
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Mantha"
  given-names: "Pradeep"
  orcid: "https://orcid.org/0000-0003-2664-7737"
- family-names: "Kiwit"
  given-names: "Florian"
  orcid: "https://orcid.org/0009-0000-4065-1535"
- family-names: "Saurabh"
  given-names: "Nishant"
  orcid: "https://orcid.org/0000-0002-1926-4693"
- family-names: "Shantenu"
  given-names: "Jha"
  orcid: "https://orcid.org/0000-0002-5040-026X"
- family-names: "Mantha"
  given-names: "Pradeep"
  orcid: "https://orcid.org/0000-0002-1225-4062"
title: "Pilot-Quantum"
version: 0.1.0
doi: 
date-released: 2024-10-10
url: "https://github.com/radical-cybertools/pilot-quantum"

GitHub Events

Total
  • Watch event: 2
  • Delete event: 8
  • Issue comment event: 1
  • Push event: 10
  • Pull request review event: 3
  • Pull request review comment event: 17
  • Pull request event: 8
  • Create event: 4
Last Year
  • Watch event: 2
  • Delete event: 8
  • Issue comment event: 1
  • Push event: 10
  • Pull request review event: 3
  • Pull request review comment event: 17
  • Pull request event: 8
  • Create event: 4

Dependencies

requirements.txt pypi
  • argparse *
  • asyncssh ==2.14.2
  • dask ==2023.11.0
  • distributed ==2023.11.0
  • paramiko >=3.4.0
  • python-hostlist ==1.23.0
  • ray ==2.8.0
  • setuptools >=66.0.0
setup.py pypi
  • argparse *
  • boto3 *
  • dask *
  • distributed *
  • paramiko *
  • pyspark *
  • python-hostlist *
  • uuid *
examples/pennylane/hybrid_computation/requirements.txt pypi
  • pennylane ==0.25.1
  • pennylane-sf ==0.20.1