Skip to content

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

License

Notifications You must be signed in to change notification settings

radical-cybertools/quantum-mini-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:
git clone https://github.com/radical-cybertools/quantum-mini-apps.git
  1. Install the required dependencies and framework defined in pyproject.toml in Conda/Python env:
cd quantum-mini-apps
pip install --update .
  1. Set PYTHONPATH for easier debugging:
export PYTHONPATH=$PWD/src:$PYTHONPATH # Add this statement to shell startup script (like .bashrc)
  1. Run an Mini-App:
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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •