IBM a annoncé la sortie de Qiskit SDK v2.5 le 14 juillet 2026, en présentant des améliorations visant à accélérer la compilation des circuits quantiques et à rendre plus flexible la construction des pipelines d’assemblage, tout en élargissant les capacités de l’interface de programmation en C. Cette version s’inscrit dans la série Qiskit v2.x, qui met l’accent sur le développement d’une base logicielle plus rapide et plus évolutive, tout en préservant autant que possible la compatibilité avec les workflows existants.
La version ajoute un nouveau cadre pour les compilateurs multi-représentations et des pipelines prêts à l’emploi pour compiler les circuits vers des représentations liées à l’informatique quantique tolérante aux fautes. Le processus de transformation bénéficie également d’améliorations de l’algorithme LightSabre, du multithreading et d’une étape d’optimisation axée sur la précision d’exécution sur du matériel réel.
Extension de l’interface C pour l’inspection des circuits dynamiques
Qiskit v2.5 permet d’inspecter le flux de contrôle classique des circuits dynamiques directement depuis l’interface C, au lieu de revenir à Python pour analyser ces instructions. Cela inclut les opérations if/else, while, for, switch, box, break et continue.
Les développeurs peuvent interroger les types de flux de contrôle, examiner les blocs de circuits imbriqués, analyser les conditions et les paramètres des boucles, et accéder aux liens entre les blocs imbriqués et le circuit d’origine. IBM a également ajouté une interface complémentaire pour inspecter les expressions classiques, notamment les arbres d’expressions, les variables, les valeurs littérales, les opérations logiques et arithmétiques, les opérations de comparaison et les informations de type.
Ces ajouts permettent aux outils de compilation et aux logiciels de bas niveau d’analyser entièrement les circuits dynamiques et les expressions classiques depuis l’interface C. Toutefois, la création d’opérations de flux de contrôle ou d’expressions classiques en C n’est toujours pas prise en charge, car le support de cette version se limite à l’inspection.
Un cadre pour les pipelines de compilation multi-représentations
La version introduit le composant MultiStagePassManager pour construire des pipelines de compilation fonctionnant sur plusieurs représentations intermédiaires. Au lieu de contraindre l’ensemble du workflow à une seule représentation, chaque étape peut utiliser la représentation la mieux adaptée à la tâche qu’elle exécute.
Ce changement vise les utilisateurs avancés, tels que les chercheurs et les développeurs qui construisent des pipelines de compilation personnalisés ou travaillent sur des workflows d’informatique quantique tolérante aux fautes. Le cadre peut être adopté progressivement avec les gestionnaires de passes existants de Qiskit, mais l’utilisateur doit définir les transitions entre les étapes, car celles-ci ne sont pas déduites automatiquement.
Pipelines prêts à l’emploi pour l’informatique tolérante aux fautes
Qiskit v2.5 ajoute deux gestionnaires de passes prêts à l’emploi pour les pipelines d’assemblage liés à l’informatique tolérante aux fautes :
- generate_preset_pbc_pass_manager() pour compiler les circuits vers une représentation de l’informatique fondée sur les opérateurs de Pauli, dans laquelle les opérations sont exprimées au moyen de mesures de Pauli et de rotations de produits de Pauli.
- generate_preset_clifford_t_pass_manager() pour compiler les circuits vers des ensembles d’instructions Clifford+T, des représentations courantes dans les pipelines de compilation tolérants aux fautes.
Ces pipelines restent personnalisables : les développeurs peuvent examiner et modifier les étapes d’assemblage, ainsi qu’ajouter d’autres techniques d’optimisation. Le pipeline Clifford+T permet également de régler le compromis entre la précision de l’approximation et le nombre de portes T.
Amélioration des performances du compilateur et exigences de mise à niveau
Le processus de compilation de la nouvelle version bénéficie d’améliorations algorithmiques de LightSabre, qui traite désormais les portes entrantes sous forme de couches plutôt qu’au moyen d’une fenêtre fixe de pré-extraction. IBM affirme que cela améliore l’évolutivité pour les grands circuits, tout en maintenant ou en améliorant la qualité du circuit par rapport aux implémentations précédentes.
Qiskit étend également l’utilisation du multithreading, notamment dans des étapes telles que TwoQubitPeepholeOptimization et Optimize1qGatesDecomposition, ainsi que dans des étapes existantes comme ConsolidateBlocks et UnitarySynthesis. L’étape TwoQubitPeepholeOptimization se concentre sur la précision d’exécution attendue sur du matériel réel, en exploitant les taux d’erreur du backend et les caractéristiques de la machine, même si cela entraîne parfois une augmentation de la profondeur ou du nombre de portes du circuit.
IBM précise que la mise à niveau ne nécessite généralement pas de modifications du code, mais que l’interface C reste instable d’une version mineure à l’autre, et que les extensions construites avec Qiskit v2.4 peuvent devoir être recompilées. Qiskit v2.5 requiert également NumPy 2.0 ou une version ultérieure et SciPy 1.14 ou une version ultérieure. Pour les utilisateurs de la série Qiskit v1.x, le support a pris fin avec la version v1.4.6 le 12 juin, y compris les corrections de bogues, les mises à jour de sécurité et les autres correctifs.
Parallèlement à cette sortie, IBM a annoncé le changement de nom de Qiskit Runtime Service en IBM Quantum Compute Service afin de clarifier la différence entre Qiskit, un kit de développement open source indépendant du matériel, et le service géré d’IBM destiné à exécuter des algorithmes sur les ordinateurs quantiques d’IBM. Le changement sera déployé progressivement à partir du 14 juillet et au cours des semaines suivantes, sans modification des interfaces de programmation, des workflows ou des intégrations existantes.