Skip to content

embersax/CloudQC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

CloudQC

CloudQC is a network-aware framework for multi-tenant distributed quantum computing that optimizes both quantum network cost and quantum computing performance.

Overview

CloudQC addresses the challenges of running distributed quantum computing (DQC) in a multi-tenant quantum cloud environment. It focuses on two key problems:

  1. Efficiently placing multiple quantum circuits onto Quantum Processing Units (QPUs)
  2. Scheduling network resources(EPR) pairs

Core Components

  • Multi-tenant Circuit Placement: Places quantum circuits onto QPUs while considering the impact on future circuit placements and minimizing cross-QPU communication
  • Network Scheduler: Intelligently allocates quantum network resources (EPR pairs) while accounting for the probabilistic nature of quantum communication

Basic Usage

from job import job_generator
from cluster import qCloud
from jobScheduler import job_scheduler
from des import DES
import networkx as nx

# Create a quantum cloud with 4 QPUs in a ring topology
cloud = qCloud(4, nx.cycle_graph, None, 5, 20)

# Generate quantum jobs
job_gen = job_generator()
job_queue = job_gen.generate_job(10)

# Create a discrete event simulator and scheduler
des_simulator = DES(cloud=cloud)
scheduler = job_scheduler(job_queue, des_simulator, cloud)

# Schedule and run jobs
scheduler.schedule_fifo()
des_simulator.run()

Requirements

  • Python 3.6+
  • numpy, networkx, pytket, matplotlib, pymetis

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors