PadDelay
class PadDelay(*args, **kwargs)
Bases: BlockBasePadder
Preenchimento do tempo ocioso com instruções de atraso.
Os atrasos consecutivos serão mesclados na saída dessa passagem.
A saída do circuito programado ASAP pode se tornar
┌────────────────┐
q_0: ┤ Delay(160[dt]) ├──■──
└─────┬───┬──────┘┌─┴─┐
q_1: ──────┤ X ├───────┤ X ├
└───┘ └───┘Observe que o tempo ocioso adicional de 60dt no fio q_0 proveniente da diferença de duração entre Delay de 100dt (q_0) e XGate de 160 dt (q_1) é absorvido na instrução de atraso no fio q_0 , ou seja, no total de 160 dt.
Veja BlockBasePadder pass para obter detalhes.
Parâmetros
- durations (durações) - Durações das instruções a serem usadas no agendamento.
- fill_very_end - Defina
Truepara preencher a extremidade do circuito com atraso. - schedule_idle_qubits - Defina como true se quiser que seja inserido um atraso nos qubits ociosos. Isso é útil para visualizações de linha do tempo, mas pode causar problemas de execução em backends grandes.
- block_ordering_callable - Um callable usado para produzir uma ordenação dos nós para minimizar o número de blocos necessários. Se não for fornecido, será usado o endereço
block_order_op_nodes(). - destino – O destino de compilação do backend.
Atributos
is_analysis_pass
Verificar se o passe é um passe de análise.
Se a passagem for um AnalysisPass,, isso significa que a passagem pode analisar o DAG e escrever os resultados dessa análise no conjunto de propriedades. As modificações no DAG não são permitidas por esse tipo de passe.
is_transformation_pass
Verifique se o passe é um passe de transformação.
Se a passagem for um TransformationPass,, isso significa que a passagem pode manipular o DAG, mas não pode modificar o conjunto de propriedades (mas pode ser lido).
Métodos
__call__
__call__(circuit, property_set=None)
Executa o circuito de passagem.
Parâmetros
- circuit (QuantumCircuit) – O dia em que o passe é executado.
- property_set (PropertySet | dict | None) – Conjunto de propriedades de entrada/saída. Uma passagem de análise pode alterar a propriedade definida no local. Se não for fornecido, será utilizado o atributo
property_setexistente do passe (se definido).
Retorna
Se uma transformação for bem-sucedida, o resultado será QuantumCircuit. Se a análise for aprovada, o circuito de entrada.
Tipo de retorno
execute
execute(passmanager_ir, state, callback=None)
Executar a tarefa de otimização para a entrada Qiskit IR.
Parâmetros
- passmanager_ir (DAGCircuit) – Qiskit IR para otimização.
- state (DAGCircuit) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passagens.
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Uma função de retorno de chamada que é chamada a cada execução da tarefa de otimização.
Retorna
Qiskit IR otimizado e estado do fluxo de trabalho.
Tipo de retorno
tupla[ DAGCircuit, PassManagerState ]
name
name()
Nome do passe.
Tipo de retorno
str
run
run(dag)
Execute o passe de preenchimento em dag.
Parâmetros
dag (DAGCircuit) – DAG a ser verificado.
Retorna
DAG com tempo ocioso preenchido com instruções.
Aumentos
TranspilerError - Quando um determinado nó não está programado, é provável que alguma passagem de transformação seja inserida antes que esse nó seja chamado.
Tipo de retorno
update_status
update_status(state, run_state)
Atualizar o status do fluxo de trabalho.
Parâmetros
- state (PassManagerState) – Passar o estado do gerenciador para atualizar.
- run_state (RunState) – Status de conclusão da tarefa atual.
Retorna
Estado do gerenciador de passes atualizado.
Tipo de retorno