Configuración Local#
Una vez que tengas Qiskit instalado y ejecutándose hay algunos pasos de configuración opcionales que puedes tomar para cambiar el comportamiento predeterminado de Qiskit para el uso específico que le vayas a dar.
Archivo de Configuración de Usuario#
La ubicación principal para la configuración local de Qiskit es el archivo de configuración de usuario. Este es un archivo en formato ini que puede ser usado para cambiar los valores predeterminados en Qiskit.
Por ejemplo:
[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.
Opciones disponibles:
circuit_drawer
: Este se usa para cambiar el backend predeterminado para el dibujador de circuitosqiskit.circuit.QuantumCircuit.draw()
yqiskit.visualization.circuit_drawer()
. Se puede configurar enlatex
,mpl
,text
, olatex_source
y cuando el argumento kwargouptut
no está configurado explícitamente, se utilizará el backend del dibujador.
circuit_mpl_style
: Esta es la hoja de estilo predeterminada utilizada para el backend de salidampl
para el dibujador de circuitosqiskit.circuit.QuantumCircuit.draw()
yqiskit.visualization.circuit_drawer()
. Se puede configurar comodefault
obw
.
circuit_mpl_style_path
: Esto se puede usar para establecer la(s) ruta(s) para tener el dibujador de circuitos,qiskit.circuit.QuantumCircuit.draw()
oqiskit.visualization.circuit_drawer()
, usado para buscar hojas de estilo json cuando uses el modo de salidampl
.
state_drawer
: Esto se usa para cambiar el backend predeterminado para los métodos de dibujo de visualización de estadoqiskit.quantum_info.Statevector.draw()
yqiskit.quantum_info.DensityMatrix.draw()
. Se puede configurar enrepr
,text
,latex
,latex_source
,qsphere
,hinton
, o blochbloch
y cuando eloutput
kwarg no se establezca explícitamente en el métododraw()
, ese método de salida será utilizado.
transpile_optimization_level
: Esto toma un número entero entre 0-3 y se usa para cambiar el nivel de optimización predeterminado paratranspile()
yexecute()
.
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.
Variables de Entorno#
También hay algunas variables de entorno que se pueden configurar para alterar el comportamiento predeterminado de 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 el número máximo de procesos paralelos que se iniciarán para operaciones paralelas si la ejecución paralela está habilitada. Toma un número entero > 0 como 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 el código de multiprocesos siempre debe ejecutarse en subprocesos múltiples. De forma predeterminada, si estás ejecutando código de múltiples subprocesos en una sección de Qiskit que ya se está ejecutando en procesos paralelos, Qiskit no iniciará varios subprocesos y, en su lugar, ejecutará esa función en serie. Esto se hace para evitar la posible sobrecarga de los recursos limitados de la CPU. Sin embargo, si deseas forzar el uso de múltiples subprocesos, incluso en un contexto de multiproceso, puedes configurarQISKIT_FORCE_THREADS=TRUE
para hacer esto.