מבוא לכלי דיבאג
אפשר לבדוק תוכניות קוונטיות על ידי הרצתן על מכשירים מדומים ובחינת הביצועים שלהן תחת מודלי רעש ריאליסטיים. כך תוכל לאתר ולתקן בעיות לפני שתשלח אותן ליחידת עיבוד קוונטי (QPU).
סימולטורים קוונטיים יכולים לסייע בפיתוח ובבדיקה של תוכניות לפני כוונון עדין ושליחתן לחומרה קוונטית. סימולטורים מקומיים עושים זאת עם ביצועים ויעילות טובים.
מכיוון שעלות הסימולציה הקלאסית של מעגלים קוונטיים גדלה בצורה אקספוננציאלית עם מספר ה-Qubits, מעגלים הגדולים מ-50 Qubits בערך בדרך כלל אינם יכולים לרוץ על סימולטורים. עבור מעגלים כאלה, ניתן:
- לבדוק גרסאות קטנות יותר של המעגלים שניתן לדמות אותן קלאסית.
- לשנות את המעגלים כך שיהפכו לניתנים לסימולציה קלאסית, אם כי בדיוק נמוך יותר.
מעגלי Stabilizer, המוכרים גם כמעגלי Clifford, הם כלי שימושי להשגת המטרה השנייה. אלו הם מחלקה מוגבלת של מעגלים קוונטיים שניתן לדמות אותם ביעילות קלאסית. סימולטורים ייעודיים יכולים בקלות לדמות מעגלי Stabilizer עם אלפי Qubits. ראה סימולציה יעילה של מעגלי Stabilizer עם Qiskit Aer primitives למידע נוסף.
עבור מעגלים קוונטיים כלליים, הכלים הבאים זמינים לבדיקה ודיבאג של תוכניות קוונטיות:
- לסימולציה של מעגלים בעת שימוש ב-Qiskit Runtime, השתמש במצב בדיקה מקומי שלו.
- לסימולציה מדויקת של מעגלים קוונטיים קטנים, ניתן להשתמש ב-reference primitives הכלולים ב-Qiskit. ראה סימולציה מדויקת עם Qiskit primitives.
- לסימולציה בעלת ביצועים גבוהים יותר שיכולה לטפל ב מעגלים גדולים יותר, או לשלב מודלי רעש בסימולציה שלך, השתמש ב-Qiskit Aer, פרויקט שהוא חלק מ-Qiskit Ecosystem. ראה סימולציה מדויקת ורועשת עם Qiskit Aer primitives.
- לבניית מודלי רעש מותאמים אישית, השתמש במודול
noiseשל Qiskit Aer. ראה בניית מודלי רעש. - עבור משימות Qiskit Runtime Estimator, השתמש בקלאס
Neatשל Qiskit Runtime לדיבאג ולניתוח המשימות שלך. ראה דיבאג של משימות Qiskit Runtime לפרטים.
שיקולי חומרה
מספר גורמים משפיעים על כמות הזיכרון שנדרשת לסימולציה קוונטית, ולכן אין דרישות חומרה מדויקות לסימולציה, אך ישנן כמה הנחיות שניתן לפעול לפיהן.
- הדרישה היחידה להרצת Qiskit היא סביבת Python תקינה. לפרטים, ראה את הקטע תמיכה במערכות הפעלה.
- מכיוון שדרישות סימולציית מעגלים קוונטיים גדלות אקספוננציאלית עם מספר ה-Qubits, החומרה הזמינה מגבילה את מספר ה-Qubits שניתן לדמות. לדוגמה, מערכת עם 4GB RAM יכולה לדמות בערך 27 Qubits.
- זיכרון זמין רב יותר או פחות לא יגרום לתוצאות מדויקות יותר או פחות (בהנחה שהתוצאות מוחזרות), אם כי זיכרון רב יותר עשוי להחזיר תוצאות מהר יותר או לאפשר לדמות יותר Qubits.
- כדי להפיק את המרב מהחומרה שלך, השתמש בסימולציה מקומית של מעגלי Stabilizer (Clifford) כשאפשר. ראה סימולציית Clifford עם מצב בדיקה מקומי של Qiskit Runtime או סימולציה יעילה של מעגלי Stabilizer עם Qiskit Aer primitives לדוגמאות.
- ניתן להגביר את כוח החישוב על ידי ביצוע ההוראות האלה להרצה עם מספר GPUs, nodes, או שניהם.