quantum-mini-apps

Quantum Mini-Apps: A Framework for Developing and Benchmarking Quantum-HPC Applications

https://github.com/radical-cybertools/quantum-mini-apps

Science Score: 54.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
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Quantum Mini-Apps: A Framework for Developing and Benchmarking Quantum-HPC Applications

Basic Info
  • Host: GitHub
  • Owner: radical-cybertools
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.2 MB
Statistics
  • Stars: 2
  • Watchers: 7
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Quantum Mini-Apps

This repository contains a framework for developing and benchmarking Quantum Mini-Apps, which are small, self-contained applications designed to evaluate the performance of quantum computing systems and algorithms.

Overview

The Quantum Mini-Apps framework provides a modular and extensible architecture for defining and executing quantum computing motifs, which are fundamental building blocks or patterns of quantum algorithms. The framework leverages the power of Qiskit for quantum circuit simulation and Dask for parallel and distributed execution.

The main components of the framework are:

  1. Mini-Apps: Mini-Apps are high-level applications that combine one or more motifs to perform a specific quantum computing task or benchmark. A motif captures reoccuring executing patterns. For example, the Circuit Execution mini-app executes a quantum circuit on a quantum simulator or hardware backend.

  2. Executor: The executor component manages the execution of motifs on different computing environments, such as local machines, clusters, or cloud resources. It supports different execution backends, including Dask and Ray.

Architecture

Mini App Architecture diagram

Getting Started

To get started with the Quantum Mini-Apps framework, follow these steps:

  1. Clone the repository: commandline git clone https://github.com/radical-cybertools/quantum-mini-apps.git

  2. Install the required dependencies and framework defined in pyproject.toml in Conda/Python env: cd quantum-mini-apps pip install --update .

  3. Set PYTHONPATH for easier debugging:

export PYTHONPATH=$PWD/src:$PYTHONPATH # Add this statement to shell startup script (like .bashrc)

  1. Run an Mini-App:

commandline python src/mini_apps/quantum_simulation/circuit_execution/ce_local.py

This will execute the QuantumSimulation Mini-App with the default configuration, which runs a circuit execution motif on a local Dask cluster.

Extending the Mini-App framework

Contributions to the Quantum Mini-Apps framework are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

Mini Apps

Each Mini-App provides an in-depth documentation. The following Mini-Apps are currently implemented:

Quantum Simulation

Circuit Execution

Circuit Cutting

State Vector Mini-Apps

Quantum Machine Learning

QML Classifier

QML Compression

QML Training

References

License

This project is licensed under the MIT License.

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: "Saurabh"
  given-names: "Nishant"
  orcid: "https://orcid.org/0000-0002-1926-4693"
- 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: "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: "Quantum Mini Apps"
version: 0.1.0
doi: 
date-released: 2025-01-04
url: "https://github.com/radical-cybertools/quantum-mini-apps"
repository-code: "https://github.com/radical-cybertools/quantum-mini-apps"

GitHub Events

Total
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 8
  • Push event: 78
  • Pull request review event: 9
  • Pull request review comment event: 15
  • Pull request event: 21
  • Create event: 2
Last Year
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 8
  • Push event: 78
  • Pull request review event: 9
  • Pull request review comment event: 15
  • Pull request event: 21
  • Create event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.33
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Issue authors: 0
  • Pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.33
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • pradeepmantha (9)
  • drelu (5)
  • fkiwit (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • dask *
  • dask-cuda *
  • distributed *
  • mpi4py *
  • pennylane *
  • qiskit ==0.45.0
  • qiskit-aer ==0.13.2
  • qiskit-aer-gpu *