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
By default this file lives in ~/.qiskit/settings.conf
but the path used
can be overridden with the QISKIT_SETTINGS
environment variable. If
QISKIT_SETTINGS
is set its value will used as the path to the user config
file.
Opções disponíveis:
circuit_drawer
: Usada para mudar o backend padrão para o drawer de circuitosqiskit.circuit.QuantumCircuit.draw()
eqiskit.visualization.circuit_drawer()
. Ele pode ser definido comolatex
,mpl
,text
, oulatex_source
e quando o kwargouptut
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ídampl
para o drawer de circuitosqiskit.circuit.QuantumCircuit.draw()
eqiskit.visualization.circuit_drawer()
. Ela pode ser definida comodefault
oubw
.
circuit_mpl_style_path
: Isso pode ser usado para definir o(s) caminho(s) para o drawer de circuitos,qiskit.circuit.QuantumCircuit.draw()
ouqiskit.visualization.circuit_drawer()
, usar para buscar por folhas de estilo json quando utilizando o modo de saídampl
.
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()
eqiskit.quantum_info.DensityMatrix.draw()
. Ele pode ser definido comorepr
,text
”,latex
,latex_source
,qsphere
,hinton
, ou blochbloch
e quando o kwargoutput
não está definido explicitamente no métododraw()
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 paratranspile()
eexecute()
.
parallel
: This option takes a boolean value (eitherTrue
orFalse
) and is used to configure whether Python multiprocessing is enabled for operations that support running in parallel (for example transpilation of multipleQuantumCircuit
objects). The default setting in the user config file can be overridden by theQISKIT_PARALLEL
environment variable.
num_processes
: This option takes an integer value (> 0) that is used to specify the maximum number of parallel processes to launch for parallel operations if parallel execution is enabled. The default setting in the user config file can be overridden by theQISKIT_NUM_PROCS
environment variable.
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
: if this variable is set toTRUE
it will enable the use of Python multiprocessing to parallelize certain operations (for example transpilation over multiple circuits) in Qiskit.
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
: Specifies the number of threads to run multithreaded operations in Qiskit. By default this multithreaded code will launch a thread for each logical CPU, if you’d like to adjust the number of threads Qiskit will use you can set this to an integer value. For example, settingRAYON_NUM_THREADS=4
will only launch 4 threads for multithreaded functions.
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 definirQISKIT_FORCE_THREADS=TRUE
para fazer isso.