PeakUsageGreedyQubitManager Classe

Un qubit manager che monitora separatamente i qubit di calcolo e di memoria.

È costituito da due gestioni qubit indipendenti per ogni tipo di qubit. Ogni responsabile usa una strategia di allocazione greedy da cirq.GreedyQubitManager.

I qubit di un tipo, dopo essere stati liberati, non possono essere riutilizzati come qubit di tipo diverso. Di conseguenza, il numero di qubit di picco è uguale alla somma dei conteggi dei qubit di picco per ogni tipo.

Inizializzare PeakUsageGreedyQubitManager.

Costruttore

PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)

Parametri

Nome Descrizione
prefix
Necessario

Prefisso di denominazione per i qubit allocati.

size
Necessario

Dimensioni iniziali del pool passate a cirq.GreedyQubitManager. Esempio: 0.

maximize_reuse
Necessario

Flag per controllare la strategia di riutilizzo del qubit. Se False, questa modalità usa una strategia FIFO (First in First out) s.t. il qubit allocato successivo è uno che è stato liberato il primo. Se True, questa modalità usa una strategia LIFO (Last in First out) s.t. il qubit allocato successivo è quello che è stato liberato più recente.

Parametri di sole parole chiave

Nome Descrizione
size
Necessario
maximize_reuse
Necessario

Metodi

compute_qubit_count

Restituisce il numero massimo di qubit COMPUTE in uso contemporaneamente.

current_in_use

Numero di qubit attualmente in uso.

memory_qubit_count

Restituisce il numero massimo di qubit MEMORY in uso contemporaneamente.

qalloc

Allocare n qubit e aggiornare i contatori di utilizzo.

qborrow

Prendere in prestito qubit (non supportato).

qfree

Liberare i qubit specificati.

qubit_count

Restituisce il numero massimo di qubit di tutti i tipi.

È uguale alla somma dei conteggi di picco per ogni tipo, perché i qubit di un tipo non possono essere riutilizzati come qubit di un tipo diverso.

compute_qubit_count

Restituisce il numero massimo di qubit COMPUTE in uso contemporaneamente.

compute_qubit_count() -> int

current_in_use

Numero di qubit attualmente in uso.

current_in_use() -> int

memory_qubit_count

Restituisce il numero massimo di qubit MEMORY in uso contemporaneamente.

memory_qubit_count() -> int

qalloc

Allocare n qubit e aggiornare i contatori di utilizzo.

qalloc(n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE) -> list[cirq.ops.raw_types.Qid]

Parametri

Nome Descrizione
n
Necessario

Numero di qubit da allocare.

dim
Necessario

Dimensione di ogni qubit. Esempio: 2 per qubit.

qubit_type

Tipo di qubit (CALCOLO o MEMORIA).

Valore predefinito: QubitType.COMPUTE

Valori restituiti

Tipo Descrizione

Elenco dei qubit allocati.

qborrow

Prendere in prestito qubit (non supportato).

qborrow(n: int, dim: int = 2) -> list[cirq.ops.raw_types.Qid]

Parametri

Nome Descrizione
n
Necessario
dim
Valore predefinito: 2

qfree

Liberare i qubit specificati.

qfree(qubits: Iterable[Qid]) -> None

Parametri

Nome Descrizione
qubits
Necessario

qubit_count

Restituisce il numero massimo di qubit di tutti i tipi.

È uguale alla somma dei conteggi di picco per ogni tipo, perché i qubit di un tipo non possono essere riutilizzati come qubit di un tipo diverso.

qubit_count() -> int