IBM объявила о выпуске Qiskit SDK v2.5 14 июля 2026 года. В него вошли улучшения, направленные на ускорение компиляции квантовых схем и повышение гибкости построения конвейеров сборки, а также расширение возможностей API на языке C. Выпуск является частью серии Qiskit v2.x, ориентированной на создание более быстрой и масштабируемой программной основы при максимально возможном сохранении совместимости с существующими рабочими процессами.
В выпуске появился новый фреймворк для компиляторов с несколькими представлениями и готовые конвейеры для сборки схем в представления, связанные с отказоустойчивыми квантовыми вычислениями. Кроме того, преобразование получает улучшения алгоритма LightSabre, многопоточности и этапа оптимизации, ориентированного на точность выполнения на реальном оборудовании.
Расширение интерфейса C для анализа динамических схем
Qiskit v2.5 позволяет анализировать поток классического управления в динамических схемах непосредственно через интерфейс C, вместо возврата к Python при анализе этих инструкций. Поддерживаются операции if/else, while, for, switch, box, break и continue.
Разработчики могут запрашивать типы потоков управления, проверять вложенные блоки схем, анализировать условия и параметры циклов, а также получать сведения о связях между вложенными блоками и исходной схемой. IBM также добавила сопутствующий интерфейс для анализа классических выражений, включая деревья выражений, переменные, литералы, логические и арифметические операции, операции сравнения и сведения о типах.
Эти дополнения позволяют инструментам компиляции и низкоуровневому программному обеспечению полностью анализировать динамические схемы и классические выражения через интерфейс C. Однако создание потоков управления или классических выражений из C по-прежнему не поддерживается: в этой версии поддерживается только анализ.
Фреймворк для конвейеров компиляции с несколькими представлениями
Выпуск представляет компонент MultiStagePassManager для построения конвейеров компиляции, работающих с несколькими промежуточными представлениями. Вместо того чтобы привязывать весь рабочий процесс к одному представлению, каждый этап может использовать представление, наиболее подходящее для выполняемой задачи.
Это изменение ориентировано на продвинутых пользователей, включая исследователей и разработчиков, создающих пользовательские конвейеры компиляции или работающих с рабочими процессами отказоустойчивых квантовых вычислений. Фреймворк можно постепенно применять вместе с существующими менеджерами проходов Qiskit, однако переходы между этапами пользователь должен задавать сам: автоматически они не выводятся.
Готовые конвейеры для отказоустойчивых вычислений
В Qiskit v2.5 добавлены два готовых менеджера проходов для конвейеров сборки, связанных с отказоустойчивыми квантовыми вычислениями:
- generate_preset_pbc_pass_manager() — для сборки схем в представление вычислений на основе Паули, в котором операции выражаются с помощью измерений Паули и вращений произведений Паули.
- generate_preset_clifford_t_pass_manager() — для сборки схем в наборы инструкций Clifford+T, распространённые в отказоустойчивых конвейерах сборки.
Эти конвейеры остаются настраиваемыми: разработчики могут проверять и изменять этапы сборки, а также добавлять другие методы оптимизации. Конвейер Clifford+T также позволяет регулировать компромисс между точностью аппроксимации и количеством T-вентилей.
Повышение производительности компилятора и требования к обновлению
Компиляция в новой версии использует алгоритмические улучшения LightSabre, который теперь обрабатывает поступающие вентили слоями, а не с помощью фиксированного окна для упреждающего охвата. IBM заявляет, что это повышает масштабируемость больших схем при сохранении или улучшении качества схем по сравнению с предыдущими реализациями.
Qiskit также расширил использование многопоточности, включая такие этапы, как TwoQubitPeepholeOptimization и Optimize1qGatesDecomposition, а также улучшения существующих этапов, таких как ConsolidateBlocks и UnitarySynthesis. Этап TwoQubitPeepholeOptimization ориентирован на ожидаемую точность выполнения на реальном оборудовании и учитывает показатели ошибок бэкенда и характеристики устройства, даже если это иногда приводит к увеличению глубины схемы или количества её вентилей.
IBM поясняет, что обновление обычно не требует изменений в коде, однако интерфейс C остаётся нестабильным между минорными версиями, поэтому расширения, собранные с Qiskit v2.4, могут потребовать повторной сборки. Qiskit v2.5 также требует NumPy 2.0 или новее и SciPy 1.14 или новее. Для пользователей серии Qiskit v1.x поддержка завершилась с выпуском v1.4.6 12 июня, включая исправления ошибок, обновления безопасности и прочие исправления.
Одновременно с выпуском IBM объявила о переименовании Qiskit Runtime Service в IBM Quantum Compute Service, чтобы яснее разграничить Qiskit — открытый исходный комплект разработки, не зависящий от оборудования, — и управляемый сервис IBM для запуска алгоритмов на квантовых компьютерах IBM. Изменение начнёт внедряться постепенно с 14 июля и в течение последующих недель, без изменений в API, рабочих процессах или существующих интеграциях.