Portuguese
Idiomas
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

Configuração local

Uma vez que você tenha Qiskit instalado e em execução, existem algumas etapas de configuração opcionais que você pode tomar para alterar o comportamento padrão do Qiskit para o seu caso de uso específico.

Arquivo de Configuração do Usuário

O local principal para configuração local do Qiskit é o arquivo configuração do usuário. Este é um arquivo de formato ini que pode ser usado para alterar padrões no Qiskit.

Por exemplo:

[default]
circuit_drawer = mpl
circuit_mpl_style = default
circuit_mpl_style_path = ~:~/.qiskit
state_drawer = hinton
transpile_optimization_level = 3
parallel = False
num_processes = 15

Por padrão, esse arquivo se encontra em ~/.qiskit/settings.conf mas o caminho usado pode ser alterado a variável de ambiente QISKIT_SETTINGS. Se ela estiver definida, seu valor será usado como caminho para o arquivo de configurações do usuário.

Opções disponíveis:

  • circuit_drawer: Usada para mudar o backend padrão para o drawer de circuitos qiskit.circuit.QuantumCircuit.draw() e qiskit.visualization.circuit_drawer(). Ele pode ser definido como latex, mpl, text, ou latex_source e quando o kwarg ouptut não for definido explicitamente esse backend de drawer será usado.

  • circuit_mpl_style: Essa é a folha de estilo padrão usada no backend de saída mpl para o drawer de circuitos qiskit.circuit.QuantumCircuit.draw() e qiskit.visualization.circuit_drawer(). Ela pode ser definida como default ou bw.

  • circuit_mpl_style_path: Isso pode ser usado para definir o(s) caminho(s) para o drawer de circuitos, qiskit.circuit.QuantumCircuit.draw() ou qiskit.visualization.circuit_drawer(), usar para buscar por folhas de estilo json quando utilizando o modo de saída mpl.

  • state_drawer: Isso é usado para mudar o backend padrão dos métodos de desenho de visualização de estados, qiskit.quantum_info.Statevector.draw() e qiskit.quantum_info.DensityMatrix.draw(). Ele pode ser definido como repr, text”, latex, latex_source, qsphere, hinton, ou bloch bloch e quando o kwarg output não está definido explicitamente no método draw() aquele método de saída será usado.

  • transpile_optimization_level: Isso recebe um inteiro entre 0 e 3 e é usado para mudar o nível de otimização padrão para transpile() e execute().

  • parallel: Esta opção recebe um valor booleano (True ou False) e é usada para configurar se Python multiprocessing está habilitado para operações que suportam executação em paralelo (por exemplo, a transpilação de múltiplos objetos QuantumCircuit). A configuração padrão no arquivo de configuração do usuário pode ser sobreposta pela variável de ambiente QISKIT_PARALLEL.

  • num_processes: Esta opção recebe um valor inteiro (> 0) que é usado para especificar o número máximo de processos paralelos a serem iniciados para operações paralelas se a execução paralela estiver ativada. A configuração padrão no arquivo de configuração do usuário pode ser sobreposta pela variável de ambiente QISKIT_NUM_PROCS.

Variáveis de Ambiente

Há também algumas variáveis de ambiente que podem ser definidas para alterar o comportamento padrão do Qiskit.

  • QISKIT_PARALLEL: se essa variável estiver definida como TRUE, ela permitirá o uso de Python multiprocessing para paralelizar certas operações (por exemplo, a transpilação de vários circuitos) no Qiskit Terra.

  • QISKIT_NUM_PROCS: Especifica o número máximo de processos paralelos a serem iniciados para operações paralelas se a execução paralela estiver habilitada. Ele recebe um inteiro > 0 como o valor esperado.

  • RAYON_NUM_THREADS: Especifica o número de threads para executar operações multithread no Qiskit Terra. Por padrão, este código multithread iniciará um thread para cada CPU lógica, se você quiser ajustar o número de threads que o Qiskit usará, você pode definir isso para um valor inteiro. Por exemplo, a configuração de RAYON_NUM_THREADS=4 lançará apenas 4 threads para funções multithread.

  • QISKIT_FORCE_THREADS: Especifica que o código multithread deve sempre ser executado em vários threads. Por padrão, se você estiver executando código multithread em uma seção do Qiskit que já está sendo executada em processos paralelos, o Qiskit não iniciará vários threads e, em vez disso, executará essa função em série. Isso é feito para evitar a sobrecarga de recursos limitados da CPU. No entanto, se você quiser forçar o uso de várias threads mesmo quando em um contexto multiprocesso, você pode definir QISKIT_FORCE_THREADS=TRUE para fazer isso.

  • QISKIT_IBMQ_PROVIDER_LOG_LEVEL: Especifica o nível de log a ser usado, para os módulos qiskit-ibmq-provider. Se um nível inválido é configurado, o nível de log será WARNING por padrão. Os níveis de log válidos são DEBUG, INFO, WARNING, ERROR, e CRITICAL (não diferencia maiúsculas de minúsculas). Se a variável de ambiente não for definida, então o nível de log do pai é utilizado, que também é WARNING por padrão.

  • QISKIT_IBMQ_PROVIDER_LOG_FILE: Especifica o nome do arquivo de log usado a partir de mensagens de log provenientes do qiskit-ibmq-provider. Se especificado, as mensagens serão registradas apenas no arquivo. Caso contrário, as mensagens serão registradas na saída de erro padrão (geralmente a tela).

  • QISKIT_AQUA_MAX_GATES_PER_JOB: Um parâmetro opcional para definir um limiar para dividir os circuitos gerados pelo Aqua em múltiplas tarefas enviadas a um serviço baseado no número de portas.