أعلنت IBM إصدار Qiskit SDK v2.5 في 14 يوليو 2026، مقدمةً تحسينات تستهدف سرعة ترجمة الدوائر الكمية ومرونة بناء مسارات التجميع، إلى جانب توسيع قدرات واجهة برمجة التطبيقات بلغة 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 يوليو وعلى مدى الأسابيع التالية، من دون تغييرات في الواجهات البرمجية أو سير العمل أو التكاملات الحالية.