IBM anunció el lanzamiento de Qiskit SDK v2.5 el 14 de julio de 2026, con mejoras destinadas a acelerar la compilación de circuitos cuánticos y ofrecer mayor flexibilidad para crear rutas de compilación, además de ampliar las capacidades de la interfaz de programación en C. La versión forma parte de la serie Qiskit v2.x, centrada en desarrollar una base de software más rápida y escalable, manteniendo en la medida de lo posible la compatibilidad con los flujos de trabajo existentes.
La versión añade un nuevo marco para compiladores con múltiples representaciones y rutas listas para compilar circuitos en representaciones asociadas con la computación cuántica tolerante a fallos. El proceso de transformación también se beneficia de mejoras en el algoritmo LightSabre, el uso de múltiples hilos y una fase de optimización centrada en la precisión de ejecución en hardware real.
Ampliación de la interfaz C para inspeccionar circuitos dinámicos
Qiskit v2.5 permite inspeccionar el flujo de control clásico en circuitos dinámicos directamente desde la interfaz C, en lugar de volver a Python al analizar estas instrucciones. Esto incluye operaciones if/else, while, for, switch, box, break y continue.
Los desarrolladores pueden consultar los tipos de flujo de control, inspeccionar bloques de circuitos anidados, analizar condiciones y parámetros de bucles, y acceder a los vínculos entre los bloques anidados y el circuito original. IBM también añadió una interfaz complementaria para inspeccionar expresiones clásicas, incluidos árboles de expresiones, variables, literales, operaciones lógicas y aritméticas, operaciones de comparación e información de tipos.
Estas incorporaciones permiten a las herramientas de compilación y al software de bajo nivel analizar por completo circuitos dinámicos y expresiones clásicas desde la interfaz C. Sin embargo, la creación de operaciones de flujo de control o expresiones clásicas desde C aún no está disponible, ya que el soporte de esta versión se limita a la inspección.
Un marco para rutas de compilación con múltiples representaciones
La versión introduce el componente MultiStagePassManager para crear rutas de compilación que funcionan con múltiples representaciones intermedias. En lugar de obligar a todo el flujo de trabajo a utilizar una sola representación, cada etapa puede emplear la representación más adecuada para la tarea que ejecuta.
Este cambio está dirigido a usuarios avanzados, como investigadores y desarrolladores que crean rutas de compilación personalizadas o trabajan en flujos de trabajo de computación cuántica tolerante a fallos. El marco puede adoptarse gradualmente junto con los gestores de pasadas existentes de Qiskit, pero el usuario debe definir las transiciones entre las etapas, ya que no se infieren automáticamente.
Rutas listas para la computación tolerante a fallos
Qiskit v2.5 añadió dos gestores de pasadas listos para rutas de compilación relacionadas con la computación tolerante a fallos:
- generate_preset_pbc_pass_manager() para compilar circuitos en una representación de computación basada en Pauli, en la que las operaciones se expresan mediante mediciones de Pauli y rotaciones de productos de Pauli.
- generate_preset_clifford_t_pass_manager() para compilar circuitos en conjuntos de instrucciones Clifford+T, representaciones comunes en las rutas de compilación tolerantes a fallos.
Estas rutas siguen siendo personalizables, ya que los desarrolladores pueden inspeccionar y modificar las etapas de compilación, así como añadir otras técnicas de optimización. La ruta Clifford+T también permite ajustar el equilibrio entre la precisión de aproximación y el número de puertas T.
Mejoras en el rendimiento del compilador y requisitos de actualización
El proceso de compilación de la nueva versión se beneficia de mejoras algorítmicas en LightSabre, que ahora procesa las puertas entrantes en forma de capas en lugar de utilizar una ventana fija para la anticipación. IBM afirma que esto mejora la escalabilidad en circuitos grandes, manteniendo o mejorando la calidad del circuito frente a implementaciones anteriores.
Qiskit también amplió el uso de múltiples hilos, incluidas fases como TwoQubitPeepholeOptimization y Optimize1qGatesDecomposition, además de mejoras en fases existentes como ConsolidateBlocks y UnitarySynthesis. La fase TwoQubitPeepholeOptimization se centra en la precisión de ejecución prevista en hardware real y aprovecha las tasas de error del backend y las características del dispositivo, aunque en ocasiones esto pueda aumentar la profundidad del circuito o el número de sus puertas.
IBM señala que la actualización normalmente no requiere cambios en el código, pero la interfaz C sigue siendo inestable entre versiones menores, por lo que las extensiones compiladas con Qiskit v2.4 podrían necesitar recompilarse. Qiskit v2.5 también requiere NumPy 2.0 o posterior y SciPy 1.14 o posterior. Para los usuarios de la serie Qiskit v1.x, el soporte finalizó con la versión v1.4.6 el 12 de junio, incluidos los parches de errores, las actualizaciones de seguridad y todas las demás correcciones.
Paralelamente al lanzamiento, IBM anunció el cambio de nombre de Qiskit Runtime Service a IBM Quantum Compute Service para aclarar la diferencia entre Qiskit, un paquete de desarrollo de código abierto y neutral respecto al hardware, y el servicio gestionado de IBM para ejecutar algoritmos en los ordenadores cuánticos de IBM. El cambio comenzará a aplicarse gradualmente a partir del 14 de julio y durante las semanas siguientes, sin modificaciones en las interfaces de programación, los flujos de trabajo ni las integraciones actuales.