SetIOLatency
class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)
Bases: AnalysisPass
Definir informações de IOLatência para o circuito de entrada.
Os endereços clbit_write_latency e conditional_latency são adicionados ao conjunto de propriedades do gerenciador de passes. Essas informações podem ser compartilhadas entre os passes que realizam o agendamento das instruções que atuam nos registros clássicos.
Depois que essas latências são adicionadas ao conjunto de propriedades, essas informações também são copiadas para o objeto do circuito de saída como atributos protegidos, de modo que possam ser utilizadas fora da transpilação; por exemplo, a visualização da linha do tempo pode usar a latência para mostrar com precisão a ocupação do tempo pelas instruções nos registros clássicos.
Criar passe com informações de latência.
Parâmetros
- clbit_write_latency – Uma restrição de fluxo de controle. Como os processadores quânticos supercondutores padrão utilizam a leitura QND dispersiva, a transferência efetiva de dados para o clbit ocorre após o sinal de estímulo de ida e volta ser armazenado em buffer e discriminado em um estado quântico. O intervalo
[t0, t0 + clbit_write_latency]é considerado tempo de inatividade para os clbits associados à instrução de medição. O valor padrão é 0 dt, o que é idêntico ao agendador do Qiskit Pulse. - conditional_latency – Uma restrição de fluxo de controle. Esse valor representa a latência na leitura de um registro clássico para a operação condicional. A operação da porta ocorre após esse intervalo de latência. Isso se traduz em um atraso na frente do eixo de rolamento ( DAGOpNode ) da comporta. O valor padrão é 0 dt.
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
execute
execute(passmanager_ir, state, callback=None)
Executar a tarefa de otimização para a entrada Qiskit IR.
Parâmetros
- passmanager_ir (Any) – Qiskit IR para otimizar.
- state (PassManagerState) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passes.
- callback (Callable | 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 [ Any, PassManagerState ]
name
run
run(dag)
Adicione informações de latência de IO.
Parâmetros
dag (DAGCircuit) – Circuito DAG de entrada.
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