Skip to content
This repository was archived by the owner on Aug 19, 2023. It is now read-only.

Files

Latest commit

 

History

History
98 lines (86 loc) · 4.75 KB

configuration.rst

File metadata and controls

98 lines (86 loc) · 4.75 KB

Local Configuration

Once you have Qiskit installed and running there are some optional configuration steps you can take to change the default behavior of Qiskit for your specific use case.

User Config File

The main location for local configuration of Qiskit is the user config file. This is an ini format file that can be used to change defaults in Qiskit.

For example:

[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 overriden with the QISKIT_SETTINGS environment variable. If QISKIT_SETTINGS is set its value will used as the path to the user config file.

Available options:

Environment Variables

There are also a few environment variables that can be set to alter the default behavior of Qiskit.

  • QISKIT_PARALLEL: if this variable is set to TRUE it will enable the use of Python multiprocessing to parallelize certain operations (for example transpilation over multiple circuits) in Qiskit.
  • QISKIT_NUM_PROCS: Specifies the maximum number of parallel processes to launch for parallel operations if parallel execution is enabled. It takes an integer > 0 as the expected value.
  • 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, setting RAYON_NUM_THREADS=4 will only launch 4 threads for multithreaded functions.
  • QISKIT_FORCE_THREADS: Specify that multithreaded code should always execute in multiple threads. By default if you're running multithreaded code in a section of Qiskit that is already running in parallel processes Qiskit will not launch multiple threads and instead execute that function serially. This is done to avoid potentially overloading limited CPU resources. However, if you would like to force the use of multiple threads even when in a multiprocess context you can set QISKIT_FORCE_THREADS=TRUE to do this.