✉ Розсилка
🌐 Українська
Програмне забезпечення3 хв читання

IBM розширює можливості Qiskit за межами Python із випуском SDK v2.6

Qiskit SDK v2.6 від IBM додає менеджер проходів у C API, нативну серіалізацію QPY та користувацькі операції, просуваючи робочі процеси, де Python не є обов’язковим.

Цю сторінку перекладено з англійської. Назви компаній і продуктів, а також посилання на джерела залишено без змін. Читати оригінал англійською

IBM випустила Qiskit SDK v2.6 — оновлення програмного забезпечення, зосереджене на низькорівневому C-інтерфейсі проєкту, а не на його більш відомому шарі Python. Згідно з підсумком релізу IBM від 22 жовтня, оновлення додає до C API фреймворк менеджера проходів, переносить серіалізацію схем QPY у робочі процеси зі скомпільованими мовами та дає змогу розробникам визначати користувацькі квантові операції безпосередньо з C. У сукупності ці зміни продовжують зусилля IBM, спрямовані на те, щоб більша частина Qiskit була придатною до використання без середовища виконання Python.

Що було оголошено

Реліз v2.6 розширює C API Qiskit, який IBM описує як низькорівневий інтерфейс до ядрової моделі даних Qiskit, побудованої на Rust, для використання зі скомпільованих мов. IBM зазначає, що цей інтерфейс призначений як для автономного використання без Python, так і для створення продуктивніших розширень Python, які безпосередньо взаємодіють із Rust-об’єктами Qiskit.

У Qiskit v2.6 IBM додала до цього C API універсальний фреймворк менеджера проходів. Нові компоненти включають QkPassManager, QkPassVtable і QkIrHandle, які разом дають змогу розробникам створювати проходи компілятора та об’єднувати їх у ланцюжки в конвеєрах із перевіркою типів для кількох проміжних представлень.

Реліз також відкриває в C API функції серіалізації QPY, що дає змогу програмам, написаним такими мовами, як C, C++ і Julia, записувати та зчитувати двійковий формат схем Qiskit без проміжного проходження через Python. Крім того, за даними IBM, розробники тепер можуть визначати користувацькі операції через інтерфейс C vtable, зокрема апаратно-нативні операції.

Технічні деталі

IBM повідомляє, що новий фреймворк менеджера проходів може перевіряти коректність конвеєра компіляції перед виконанням, звіряючи оголошені вхідні та вихідні представлення для кожного проходу. Серед вбудованих представлень — QkCircuit і QkDag, тоді як користувацькі IR також можна описувати через QkIrHandle.

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

Щодо серіалізації, у Qiskit 2.6 форматом QPY v18 встановлено типовий. IBM зазначає, що ця версія зменшує розмір серіалізованих схем завдяки компактнішому кодуванню квантових і класичних регістрів. Схеми, створені через C API, залишаються сумісними з модулем Python qiskit.qpy, повідомляє компанія.

У релізі мінімально підтримуваною версією середовища виконання Python залишається 3.10, тоді як для збирання з початкового коду тепер потрібен Rust 1.89. На сторінці дорожньої карти IBM також зазначено, що Qiskit 2.6.0 було випущено 16 жовтня 2026 року, а виправлення помилок постачатимуться через патч-релізи або наступний мінорний реліз.

Чому це важливо

Для більшості користувачів Qiskit Python і далі залишається основною точкою входу. Але IBM, вочевидь, також вибудовує іншу модель розгортання: доступ зі скомпільованих мов до того самого базового стеку компіляції та виконання.

Ця зміна має значення для середовищ високопродуктивних обчислень, де Python може бути обмеженням з погляду пакування, середовища виконання чи інтеграції. У документації IBM зазначено, що C API спроєктовано для надання визначеного ABI до внутрішньої моделі даних на Rust, а в блозі компанії v2.6 подано як черговий крок до використання Qiskit у середовищах, де Python не встановлено.

Це також сигналізує про ширший архітектурний перехід. Дорожня карта Qiskit показує, що IBM рухається до формальної стабільності ABI та API для C-інтерфейсу у v2.7, а також до нового middle-end IR для відмовостійкої компіляції. Для v2.8 дорожня карта вказує на BackendV3, який там описано як нативний для Rust інтерфейс бекенда, відкритий для Python і C.

На що звернути увагу

Найближче питання — стабільність. У чинній документації IBM щодо C API зазначено, що інтерфейс усе ще слід вважати експериментальним і він може змінюватися між мінорними релізами. Це застереження важливе для команд розробки ПЗ, які розглядають глибоку інтеграцію.

Тож наступна ключова віхa — Qiskit 2.7. Згідно з дорожньою картою на GitHub, очікується, що в цій версії буде визначено гарантії стабільності для C API та ще більше розширено функціональність компілятора. Якщо IBM це реалізує, непітонівський шлях Qiskit почне менше нагадувати внутрішній інфраструктурний проєкт і більше — виробничий інтерфейс для скомпільованих стеків квантового програмного забезпечення.

Джерела

Факти на цій сторінці наведено за джерелами нижче, зібраними DesignQuantum.

  1. Qiskit SDK v2.6 release summary | IBM Quantum Computing Blog ibm.com
  2. Qiskit SDK C API documentation (latest version) | IBM Quantum Documentation quantum.cloud.ibm.com
  3. Roadmap github.com
  4. IBM Releases Qiskit SDK v2.6 with C API Pass-Manager Framework, Native QPY Serialization, and Custom Operations - Quantum Computing Report quantumcomputingreport.com