Pular para o conteúdo principal
Este projeto está em fase beta. Encontrou um bug? Abra uma issue no GitHub. Tem uma pergunta ou ideia? Pergunte no Discussions — adoraríamos receber seu feedback!
Como está a qualidade da tradução nesta página?

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
min_qpy_version = 14

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 circuito. 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 circuito. 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.

  • min_qpy_version: O carregamento de QPY rejeitará arquivos com uma versão QPY inferior à definida aqui. Esta opção pode ser usada para restringir as versões de QPY permitidas quando problemas de segurança de desserialização são descobertos em versões mais antigas do QPY, impedindo o carregamento de payloads potencialmente maliciosos.

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 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 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 uma possível sobrecarga dos recursos limitados de CPU. 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 várias tentativas aleatórias. 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