Skip to main content
IBM Quantum Platform

Configurar o Qiskit SDK localmente

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


Arquivo de configuração do usuário

O principal local para a configuração local do Qiskit é o arquivo de configuração do usuário. Esse é 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
min_qpy_version = 14

Por padrão, esse arquivo está em ~/.qiskit/settings.conf , mas o caminho pode ser substituído pela variável de ambiente QISKIT_SETTINGS .


Opções disponíveis

  • circuit_drawer: Altera o sistema padrão da gaveta de circuitos. Ele pode ser definido como latex, mpl, text, ou latex_source. Quando o kwarg de saída não é definido explicitamente, esse sistema de gaveta é usado.
  • circuit_mpl_style: A folha de estilo padrão usada para o sistema de saída mpl para a gaveta de circuito. Os valores válidos são default ou bw.
  • circuit_mpl_style_path: Os caminhos a serem usados pela gaveta de circuito para procurar folhas de estilo JSON ao usar o modo de saída mpl.
  • state_drawer: É usado para alterar o sistema padrão dos métodos de desenho de visualização de estado. Os valores válidos são repr, text, latex, latex_source, qsphere, hinton, ou bloch. Quando o kwarg de saída não for explicitamente definido no método qiskit.quantum_info.DensityMatrix.draw, será usado o método de saída especificado.
  • transpile_optimization_level: Alterar o nível de otimização padrão para qiskit.compiler.transpile. Especifique um número inteiro de 0 a 3.
  • parallel: Se o multiprocessamento Python está ativado para operações que suportam execução em paralelo. Por exemplo, a transpilação de vários qiskit.circuit.QuantumCircuit objetos. 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 ativada. Essa configuração pode ser substituída pela variável de ambiente QISKIT_NUM_PROCS . Especifique um número inteiro maior que 0.
  • min_qpy_version: O carregamento de arquivos QPY rejeitará arquivos com uma versão QPY inferior à definida aqui. Essa opção pode ser usada para restringir as versões permitidas do QPY quando forem detectadas falhas de segurança na deserialização em versões mais antigas do QPY, impedindo o carregamento de cargas potencialmente maliciosas.
Note

Variáveis de ambiente

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

  • QISKIT_PARALLEL: Permite que o multiprocessamento Python paralelize determinadas operações; por exemplo, a transpilação em vários circuitos 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 ativada. Especifique um número inteiro maior que zero.
  • RAYON_NUM_THREADS: O número de threads para executar operações multithread no Qiskit. Por padrão, o código multithread inicia um thread para cada CPU lógica. Para ajustar o número de threads que o Qiskit usa, defina-o como um valor inteiro. Por exemplo, a configuração RAYON_NUM_THREADS=4 inicia quatro 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 um código multithread em uma seção do Qiskit que já esteja sendo executada em processos paralelos, o Qiskit não iniciará vários threads, mas, em vez disso, executará essa função em série. Isso é feito para evitar a possível sobrecarga dos recursos limitados da CPU. No entanto, se quiser forçar o uso de vários threads mesmo em um contexto de multiprocessos, defina QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Controla o comportamento da passagem de layout e roteamento no gerenciador de passagens predefinidas do Qiskit. Quando definido como 1 ou TRUE, isso usa todas as CPUs disponíveis para executar várias tentativas aleatórias. Isso pode melhorar a qualidade dos resultados, especialmente para sistemas com mais de 20 CPUs/núcleos; a desvantagem, no entanto, é que os resultados não são reproduzíveis quando executados em diferentes hardwares locais.

Próximas etapas

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