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 |
|
maximize_reuse
Necessario
|
Flag per controllare la strategia di riutilizzo del qubit. Se |
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 |
| 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