Перейти до основного вмісту
Цей проєкт у бета-версії. Знайшов(-ла) помилку? Відкрити issue на GitHub. Є запитання чи ідея? Запитати в Discussions — будемо раді твоєму відгуку!
Яка якість перекладу на цій сторінці?

Налаштування 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
min_qpy_version = 14

За замовчуванням цей файл знаходиться у ~/.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.

  • min_qpy_version: Завантаження QPY відхилятиме файли з версією QPY, нижчою за вказану тут. Цей параметр можна використовувати для обмеження допустимих версій QPY у разі виявлення проблем безпеки десеріалізації у старіших версіях QPY, запобігаючи завантаженню потенційно шкідливих даних.

примітка

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

Встанови ці змінні середовища, щоб змінити типову поведінку 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/ядрами; однак компроміс полягає в тому, що результати не відтворювані при запуску на різному локальному апаратному забезпеченні.

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

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