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 = 14Por 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 comolatex,mpl,text, oulatex_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ãodefaultoubw.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ãorepr,text,latex,latex_source,qsphere,hinton, oubloch. 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 ambienteQISKIT_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 ambienteQISKIT_NUM_PROCS. Especifique um número inteiro maior que0.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
- As configurações do desenhista de circuitos se aplicam a qiskit.circuit.QuantumCircuit.draw e qiskit.visualization.circuit_drawer.
- Os métodos de visualização de estado são qiskit.quantum_info.Statevector.draw e qiskit.quantum_info.DensityMatrix.draw.
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, definaQISKIT_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 como1ouTRUE, 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
- Experimente um tutorial, como o algoritmo de Grover.
- Execute o programa Hello world.
- Leia as diretrizes de contribuição se você quiser contribuir com o Qiskit SDK de código aberto.
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.