Skip to main content
IBM Quantum Platform

BasePassManager

class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)

GitHub

Bases: Generic[IR], ABC

Classe base do gerenciador de passes.

Inicializa um objeto vazio do gerenciador de passes.

Parâmetros

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um passe a ser adicionado à programação do gerenciador de passes.
  • max_iteration (int) – O número máximo de iterações em que a programação será repetida se a condição não for atendida.

Métodos

append

append(tasks)

GitHub

Anexar tarefas à programação de passes.

Parâmetros

tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um conjunto de tarefas do gerenciador de passes a serem adicionadas à programação.

Aumentos

TypeError - Quando qualquer elemento das tarefas não for uma subclasse do gerenciador de passagens Task.

Tipo de retorno

Nenhum

remove

remove(index)

GitHub

Remove uma passagem específica no agendador.

Parâmetros

index (int) – Passe o índice a ser removido, com base na posição em passes().

Aumentos

PassManagerError – Se o índice não for encontrado.

Tipo de retorno

Nenhum

replace

replace(index, tasks)

GitHub

Substituir uma passagem específica no agendador.

Parâmetros

  • index (int) – Índice da tarefa a ser substituída, com base na posição em tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um conjunto de tarefas do gerenciador de passes a serem adicionadas à programação.

Aumentos

  • TypeError - Quando qualquer elemento das tarefas não for uma subclasse do gerenciador de passagens Task.
  • PassManagerError – Se o índice não for encontrado.

Tipo de retorno

Nenhum

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

GitHub

Execute todos os passes no site especificado in_programs.

Parâmetros

  • in_programs (Any |list[Any]) – Insira programas para transformar através de todas as passagens registradas. Um único objeto de entrada não pode ser um objeto de lista embutido Python. Um objeto de lista é considerado como múltiplos objetos de entrada a serem otimizados.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    Uma função de retorno de chamada que será chamada após cada execução da passagem. A função será chamada com 5 argumentos-chave:

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    Os argumentos exatos passados revelam o funcionamento interno do gerenciador de passes e estão sujeitos a alterações à medida que o funcionamento interno do gerenciador de passes for alterado. Se você pretende reutilizar uma função de retorno de chamada em várias versões, certifique-se de que os argumentos passados sejam os mesmos.

    Para usar o recurso de retorno de chamada, você define uma função que receberá o dict de kwargs e acessará as variáveis. Por exemplo:

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – O número máximo de processos paralelos a serem iniciados se a execução paralela estiver habilitada. Este argumento substitui num_processes o arquivo de configuração do usuário e a variável QISKIT_NUM_PROCS de ambiente. Se definido como None padrão do sistema ou configuração do usuário local, será utilizado.

  • property_set (dict[str, object] | None) – Se fornecido, o valor inicial a ser usado como o PropertySet para o pipeline do gerenciador de passes. Isso pode ser usado para manter a análise de uma execução para outra, nos casos em que você sabe que é seguro compartilhar a análise. Tenha cuidado com o fato de que algumas análises serão específicas para o circuito de entrada e para o circuito de entrada específico Targetportanto, você deve tomar muito cuidado ao usar esse argumento.

  • kwargs - Argumentos arbitrários passados para o frontend e backend do compilador.

Retorna

O(s) programa(s) transformado(s).

Tipo de retorno

Qualquer

to_flow_controller

to_flow_controller()

GitHub

Linearize esse gerenciador em um único FlowControllerLinearpara que ele possa ser aninhado dentro de outro gerenciador de passes.

Retorna

Um gerenciador de passagens linearizado.

Tipo de retorno

Control[* ador de Fluxo Linear IR*, IR]

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.