PeakUsageGreedyQubitManager Classe
Um gerenciador de qubits que acompanha a computação e os qubits de memória separadamente.
Ele consiste em dois gerentes de qubit independentes para cada tipo de qubit. Cada gerente usa a estratégia de alocação greedy de cirq.GreedyQubitManager.
Qubits de um tipo, após liberados, não podem ser reutilizados como qubits de tipo diferente. Portanto, a contagem de qubits de pico é igual à soma de contagens de qubit de pico para cada tipo.
Inicialize o PeakUsageGreedyQubitManager.
Construtor
PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)
Parâmetros
| Nome | Description |
|---|---|
|
prefix
Obrigatório
|
Prefixo de nomenclatura para qubits alocados. |
|
size
Obrigatório
|
Tamanho inicial do pool passado para |
|
maximize_reuse
Obrigatório
|
Sinalizar para controlar a estratégia de reutilização do qubit. Se |
Parâmetros somente de palavra-chave
| Nome | Description |
|---|---|
|
size
Obrigatório
|
|
|
maximize_reuse
Obrigatório
|
|
Métodos
| compute_qubit_count |
Retorna o número máximo de qubits COMPUTE simultaneamente em uso. |
| current_in_use |
Número de qubits atualmente em uso. |
| memory_qubit_count |
Retorna o número máximo de qubits MEMORY simultaneamente em uso. |
| qalloc |
|
| qborrow |
Qubits emprestados (sem suporte). |
| qfree |
Libere os qubits determinados. |
| qubit_count |
Retorna o número máximo de qubits de todos os tipos. É igual à soma de contagens de pico para cada tipo, pois qubits de um tipo não podem ser reutilizados como qubits de um tipo diferente. |
compute_qubit_count
Retorna o número máximo de qubits COMPUTE simultaneamente em uso.
compute_qubit_count() -> int
current_in_use
Número de qubits atualmente em uso.
current_in_use() -> int
memory_qubit_count
Retorna o número máximo de qubits MEMORY simultaneamente em uso.
memory_qubit_count() -> int
qalloc
n Aloque qubits e atualize os contadores de uso.
qalloc(n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE) -> list[cirq.ops.raw_types.Qid]
Parâmetros
| Nome | Description |
|---|---|
|
n
Obrigatório
|
Número de qubits a serem alocados. |
|
dim
Obrigatório
|
Dimensão de cada qubit. Exemplo: 2 para qubits. |
|
qubit_type
|
Tipo de qubits (COMPUTE ou MEMORY). Valor padrão: QubitType.COMPUTE
|
Retornos
| Tipo | Description |
|---|---|
|
Lista de qubits alocados. |
qborrow
Qubits emprestados (sem suporte).
qborrow(n: int, dim: int = 2) -> list[cirq.ops.raw_types.Qid]
Parâmetros
| Nome | Description |
|---|---|
|
n
Obrigatório
|
|
|
dim
|
Valor padrão: 2
|
qfree
Libere os qubits determinados.
qfree(qubits: Iterable[Qid]) -> None
Parâmetros
| Nome | Description |
|---|---|
|
qubits
Obrigatório
|
|
qubit_count
Retorna o número máximo de qubits de todos os tipos.
É igual à soma de contagens de pico para cada tipo, pois qubits de um tipo não podem ser reutilizados como qubits de um tipo diferente.
qubit_count() -> int