แนะนำเครื่องมือ debugging
คุณสามารถทดสอบโปรแกรมควอนตัมของคุณโดยรันบนอุปกรณ์จำลองและสำรวจประสิทธิภาพภายใต้โมเดลสัญญาณรบกวนของอุปกรณ์จริง ซึ่งช่วยให้คุณ debug ก่อนที่จะส่งไปยังหน่วยประมวลผลควอนตัม (QPU)
Quantum simulators ช่วยพัฒนาและทดสอบโปรแกรมก่อนจะปรับแต่งและส่งไปยังฮาร์ดแวร์ควอนตัม Simulators ในเครื่องสามารถทำสิ่งนี้ได้อย่างมีประสิทธิภาพดี
เนื่องจากต้นทุนในการจำลองวงจรควอนตัมแบบคลาสสิกเพิ ่มขึ้นแบบ exponential ตามจำนวน Qubit วงจรที่มีมากกว่าประมาณ 50 Qubit โดยทั่วไปจึงไม่สามารถรันบน simulators ได้ สำหรับวงจรดังกล่าว คุณสามารถ:
- ทดสอบเวอร์ชันที่เล็กลงของวงจรที่สามารถจำลองแบบคลาสสิกได้
- ปรับแต่งวงจรให้สามารถจำลองแบบคลาสสิกได้ แม้จะมีความแม่นยำน้อยลง
Stabilizer circuits หรือที่เรียกว่า Clifford circuits เป็นเครื่องมือที่มีประโยชน์สำหรับเป้าหมายหลังนี้ วงจรเหล่านี้เป็นกลุ่มวงจรควอนตัมแบบจำกัดที่สามารถจำลองแบบคลาสสิกได้อย่างมีประสิทธิภาพ Simulators เฉพาะทางสามารถจำลอง stabilizer circuits ที่มีหลายพัน Qubit ได้อย่างง่ายดาย ดู การจำลอง stabilizer circuits อย่างมีประสิทธิภาพด้วย Qiskit Aer primitives สำหรับข้อมูลเพิ่มเติม
สำหรับวงจรควอนตัมทั่วไป มีเครื่องมือต่อไปนี้ใช้ทดสอบและ debug โปรแกรมควอนตัมของคุณ:
- สำหรับการจำลองวงจรเมื่อใช้ Qiskit Runtime ให้ใช้ โหมดทดสอบในเครื่อง ของมัน
- สำหรับการจำลองที่แม่นยำของวงจรควอนตัมขนาดเล็ก คุณสามารถใช้ reference primitives ที่มากับ Qiskit ดู การจำลองที่แม่นยำด้วย Qiskit primitives
- สำหรับการจำลองที่มีประสิทธิภาพสูงซึ่งรองรับวงจรขนาดใหญ่ขึ้น หรือเพื่อรวมโมเดลสัญญาณรบกวนเข้าในการจำลอง ให้ใช้ Qiskit Aer ซึ่งเป็นโปรเจกต์ในกลุ่ม Qiskit Ecosystem ดู การจำลองที่แม่นยำและมีสัญญาณรบกวนด้วย Qiskit Aer primitives
- สำหรับการสร้างโมเดลสัญญาณรบกวนแบบกำหนดเอง ให้ใช้โมดูล
noiseของ Qiskit Aer ดู การสร้างโมเดลสัญญาณรบกวน - สำหรับงาน Qiskit Runtime Estimator ให้ใช้คลาส
Neatของ Qiskit Runtime เพื่อ debug และวิเคราะห์งานของคุณ ดู Debug งาน Qiskit Runtime สำหรับรายละเอียด
ข้อพิจารณาด้านฮาร์ดแวร์
หลายปัจจัยส่งผลต่อหน่วยความจำที่การจำลองควอนตัมต้องการ จึงไม่มีข้อกำหนดฮาร์ดแวร์ที่แน่นอนสำหรับการจำลอง แต่มีแนวทางที่คุณสามารถปฏิบัติตามได้
- ข้อกำหนดเดียวในการรัน Qiskit คือสภาพแวดล้อม Python ที่ทำงานได้ สำหรับรายละเอียด ดูส่วน การรองรับระบบปฏิบัติการ
- เนื่องจากข้อกำหนดสำหรับการจำลองวงจรควอนตัมเพิ่มขึ้นแบบ exponential ตามจำนวน Qubit ฮาร์ดแวร์ที่มีอยู่จึงจำกัดจำนวน Qubit ที่สามารถจำลองได้ ตัวอย่างเช่น ระบบที่มี RAM 4GB สามารถจำลองได้ประมาณ 27 Qubit
- หน่วยความจำที่มีมากหรือน้อยกว่าจะไม่ทำให้ผลลัพธ์แม่นยำมากหรือน้อยลง (สมมติว่าผลลัพธ์ถูกส่งคืน) แม้ว่าหน่วยความจำมากขึ้นอาจให้ผลลัพธ์เร็วขึ้นหรือช่วยให้จำลอง Qubit ได้มากขึ้น
- เพื่อให้ได้ประโยชน์สูงสุดจากฮาร์ดแวร์ของคุณ ให้ใช้การจำลองวงจร stabilizer (Clifford) ในเครื่องเมื่อเป็นไปได้ ดู การจำลอง Clifford ด้วยโหมดทดสอบในเครื่องของ Qiskit Runtime หรือ การจำลอง stabilizer circuits อย่างมีประสิทธิภาพด้วย Qiskit Aer primitives สำหรับตัวอย่าง
- คุณสามารถเพิ่มพลังการประมวลผลโดยทำตามคำแนะนำเหล่านี้เพื่อ รันด้วย GPU หลายตัว หลาย node หรือทั้งสองอย่าง