Pular para o conteúdo principal

Configurar o SDK do Qiskit localmente

Depois que o SDK do Qiskit estiver instalado e em execução, há alguns passos opcionais que você pode seguir para alterar o comportamento padrão do Qiskit.

Arquivo de configuração do usuário

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

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 está em ~/.qiskit/settings.conf, mas o caminho pode ser substituído com a variável de ambiente QISKIT_SETTINGS.

Opções disponíveis

  • circuit_drawer: Altera o sistema padrão para o desenhador de Circuit. Pode ser definido como latex, mpl, text ou latex_source. Quando o kwarg de saída não é definido explicitamente, esse sistema de desenho é utilizado.
  • circuit_mpl_style: A folha de estilo padrão usada para o sistema de saída mpl do desenhador de Circuit. Os valores válidos são default ou bw.
  • circuit_mpl_style_path: Os caminhos que o desenhador de Circuit usa para procurar folhas de estilo JSON ao utilizar o modo de saída mpl.
  • state_drawer: Usado para alterar o sistema padrão para os métodos de visualização de estados. Os valores válidos são repr, text, latex, latex_source, qsphere, hinton ou bloch. Quando o kwarg de saída não é definido explicitamente no método qiskit.quantum_info.DensityMatrix.draw, o método de saída especificado é utilizado.
  • transpile_optimization_level: Altera o nível de otimização padrão para qiskit.compiler.transpile. Especifique um inteiro de 0 a 3.
  • parallel: Indica se o multiprocessamento do Python está habilitado para operações que suportam execução em paralelo. Por exemplo, a transpilação de múltiplos objetos qiskit.circuit.QuantumCircuit. Essa configuração pode ser substituída pela variável de ambiente QISKIT_PARALLEL. Especifique um valor booleano.
  • num_processes: O número máximo de processos paralelos a serem iniciados para operações paralelas, se a execução paralela estiver habilitada. Essa configuração pode ser substituída pela variável de ambiente QISKIT_NUM_PROCS. Especifique um inteiro maior que 0.
nota

Variáveis de ambiente

Defina estas variáveis de ambiente para alterar o comportamento padrão do Qiskit:

  • QISKIT_PARALLEL: Habilita o multiprocessamento do Python para paralelizar determinadas operações; por exemplo, a transpilação de múltiplos circuits no Qiskit. Especifique um valor booleano.
  • QISKIT_NUM_PROCS: O número máximo de processos paralelos a serem iniciados para operações paralelas, se a execução paralela estiver habilitada. Especifique um inteiro maior que zero.
  • RAYON_NUM_THREADS: O número de threads para executar operações multithreaded no Qiskit. Por padrão, o código multithreaded inicia uma thread para cada CPU lógica. Para ajustar o número de threads que o Qiskit usa, defina isso como um valor inteiro. Por exemplo, definir RAYON_NUM_THREADS=4 inicia quatro threads para funções multithreaded.
  • QISKIT_FORCE_THREADS: Especifica que o código multithreaded deve sempre ser executado em múltiplas threads. Por padrão, se você estiver executando código multithreaded em uma seção do Qiskit que já está sendo executada em processos paralelos, o Qiskit não inicia múltiplas threads, mas executa essa função de forma serial. Isso é feito para evitar sobrecarregar recursos de CPU limitados. No entanto, se você quiser forçar o uso de múltiplas threads mesmo em um contexto multiprocesso, defina QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Controla o comportamento do passo de layout e roteamento no gerenciador de passes predefinido do Qiskit. Quando definido como 1 ou TRUE, utiliza todas as CPUs disponíveis para executar múltiplos testes aleatórios. Isso pode melhorar a qualidade dos resultados, especialmente para sistemas com mais de 20 CPUs/cores; porém, o custo é que os resultados não são reproduzíveis quando executados em hardware local diferente.

Próximos passos

Recomendações