Перейти до основного вмісту

Налаштування Qiskit SDK локально

Після встановлення та запуску Qiskit SDK є кілька необов'язкових кроків, які ти можеш зробити, щоб змінити типову поведінку Qiskit.

Конфігураційний файл користувача

Основне місце для локального налаштування Qiskit — конфігураційний файл користувача. Це файл у форматі .ini, який можна використовувати для зміни типових параметрів Qiskit.

Приклад:

[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

За замовчуванням цей файл знаходиться у ~/.qiskit/settings.conf, але шлях можна перевизначити за допомогою змінної середовища QISKIT_SETTINGS.

Доступні параметри

  • circuit_drawer: Змінює типову систему для відображення Circuit. Можна встановити значення latex, mpl, text або latex_source. Ця система відображення використовується, коли kwarg output не задано явно.
  • circuit_mpl_style: Типова таблиця стилів, що використовується системою виводу mpl для відображення Circuit. Допустимі значення: default або bw.
  • circuit_mpl_style_path: Шляхи, за якими відображувач Circuit шукає JSON-таблиці стилів у режимі виводу mpl.
  • state_drawer: Використовується для зміни типової системи методів відображення стану. Допустимі значення: repr, text, latex, latex_source, qsphere, hinton або bloch. Коли kwarg output не задано явно для методу qiskit.quantum_info.DensityMatrix.draw, використовується вказаний метод виводу.
  • transpile_optimization_level: Змінює типовий рівень оптимізації для qiskit.compiler.transpile. Вкажи ціле число від 0 до 3.
  • parallel: Визначає, чи увімкнено мультипроцесорність Python для операцій, що підтримують паралельне виконання. Наприклад, транспіляція кількох об'єктів qiskit.circuit.QuantumCircuit. Цей параметр можна перевизначити змінною середовища QISKIT_PARALLEL. Вкажи логічне значення.
  • num_processes: Максимальна кількість паралельних процесів, що запускаються для паралельних операцій, якщо паралельне виконання увімкнено. Цей параметр можна перевизначити змінною середовища QISKIT_NUM_PROCS. Вкажи ціле число більше 0.
примітка

Змінні середовища

Встанови ці змінні середовища, щоб змінити типову поведінку Qiskit:

  • QISKIT_PARALLEL: Вмикає мультипроцесорність Python для паралелізації певних операцій; наприклад, транспіляцію кількох схем у Qiskit. Вкажи логічне значення.
  • QISKIT_NUM_PROCS: Максимальна кількість паралельних процесів, що запускаються для паралельних операцій, якщо паралельне виконання увімкнено. Вкажи ціле число більше нуля.
  • RAYON_NUM_THREADS: Кількість потоків для виконання багатопотокових операцій у Qiskit. За замовчуванням багатопотоковий код запускає по одному потоку на кожен логічний CPU. Щоб змінити кількість потоків, встанови ціле значення. Наприклад, RAYON_NUM_THREADS=4 запустить чотири потоки для багатопотокових функцій.
  • QISKIT_FORCE_THREADS: Вказує, що багатопотоковий код завжди має виконуватись у кількох потоках. За замовчуванням, якщо багатопотоковий код запущено в секції Qiskit, що вже виконується в паралельних процесах, Qiskit не запускає кілька потоків, а виконує цю функцію послідовно. Це зроблено, щоб уникнути можливого перевантаження обмежених ресурсів CPU. Однак якщо ти хочеш примусово використовувати кілька потоків навіть у контексті мультипроцесорності, встанови QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Керує поведінкою проходів розміщення та маршрутизації в менеджері попередніх проходів Qiskit. Коли встановлено значення 1 або TRUE, використовуються всі доступні CPU для виконання кількох випадкових спроб. Це може покращити якість результатів, особливо для систем із понад 20 CPU/ядрами; однак компроміс полягає в тому, що результати не відтворювані при запуску на різному локальному апаратному забезпеченні.

Наступні кроки

Рекомендації