Skip to main content
IBM Quantum Platform

BasePassManager

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

GitHub

Bases: ABC

Classe base do gerenciador de passes.

Inicializa um objeto vazio do gerenciador de passes.

Parâmetros

  • tasks (Task | list[Task]) – Um conjunto de passes 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 | list[Task]) – Um conjunto de tarefas do gerenciador de passes a ser adicionado à 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 | list[Task]) – Um conjunto de tarefas do gerenciador de passes a ser adicionado à 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 | 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

FlowControllerLinear

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