✉ จดหมายข่าว
🌐 ไทย
ซอฟต์แวร์7 นาทีในการอ่าน

IBM เดินหน้า Qiskit ให้ไกลเกินกว่า Python ด้วยการออก SDK v2.6

Qiskit SDK v2.6 ของ IBM เพิ่ม pass manager สำหรับ C API, การซีเรียลไลซ์ QPY แบบเนทีฟ และการดำเนินการแบบกำหนดเอง ขณะที่ IBM เดินหน้าสู่เวิร์กโฟลว์ที่ไม่จำเป็นต้องพึ่ง Python

หน้านี้แปลจากภาษาอังกฤษ โดยชื่อบริษัท ชื่อผลิตภัณฑ์ และลิงก์แหล่งข้อมูลยังคงเดิม อ่านต้นฉบับภาษาอังกฤษ

IBM เปิดตัว Qiskit SDK v2.6 ซึ่งเป็นการอัปเดตซอฟต์แวร์ที่เน้นไปที่อินเทอร์เฟซ C ระดับล่างของโครงการ มากกว่าชั้น Python ที่เป็นที่รู้จักกันดีกว่า ตามสรุปการออกรุ่นของ IBM เมื่อวันที่ 22 ตุลาคม การอัปเดตนี้เพิ่มเฟรมเวิร์ก pass manager ให้กับ C API นำการซีเรียลไลซ์วงจร QPY เข้าสู่เวิร์กโฟลว์ของภาษาที่คอมไพล์แล้ว และเปิดให้นักพัฒนากำหนดการดำเนินการควอนตัมแบบกำหนดเองได้โดยตรงจาก C เมื่อพิจารณารวมกัน การเปลี่ยนแปลงเหล่านี้เป็นการสานต่อความพยายามของ IBM ที่จะทำให้สามารถใช้งาน Qiskit ได้มากขึ้นโดยไม่ต้องพึ่งรันไทม์ของ Python

สิ่งที่ประกาศ

รุ่น v2.6 ขยาย C API ของ Qiskit ซึ่ง IBM อธิบายว่าเป็นอินเทอร์เฟซระดับล่างสำหรับโมเดลข้อมูลแกนหลักที่พัฒนาด้วย Rust ของ Qiskit เพื่อให้ใช้งานจากภาษาที่คอมไพล์แล้วได้ IBM ระบุว่าอินเทอร์เฟซนี้ตั้งใจให้ใช้ได้ทั้งแบบสแตนด์อโลนโดยไม่ต้องใช้ Python และสำหรับสร้างส่วนขยาย Python ที่มีประสิทธิภาพสูงขึ้นซึ่งโต้ตอบกับอ็อบเจ็กต์ Rust ของ Qiskit ได้โดยตรง

ใน Qiskit v2.6 IBM ได้เพิ่มเฟรมเวิร์ก pass manager แบบทั่วไปเข้าไปใน C API ดังกล่าว องค์ประกอบใหม่ประกอบด้วย QkPassManager, QkPassVtable และ QkIrHandle ซึ่งร่วมกันทำให้นักพัฒนาสามารถสร้าง compiler pass และเชื่อมต่อเป็นไปป์ไลน์ที่ตรวจสอบชนิดข้อมูลได้ ครอบคลุมตัวแทนระหว่างทางหลายรูปแบบ

การออกรุ่นนี้ยังเปิดให้ใช้ฟังก์ชันการซีเรียลไลซ์ QPY ใน C API ด้วย ทำให้โปรแกรมที่เขียนด้วยภาษาอย่าง C, C++ และ Julia สามารถเขียนและอ่านฟอร์แมตวงจรไบนารีของ Qiskit ได้โดยไม่ต้องอ้อมผ่าน Python นอกจากนี้ ตามข้อมูลของ IBM นักพัฒนายังสามารถกำหนดการดำเนินการแบบกำหนดเองผ่านอินเทอร์เฟซ C vtable ได้แล้ว รวมถึงการดำเนินการแบบเนทีฟของฮาร์ดแวร์

รายละเอียดทางเทคนิค

IBM ระบุว่าเฟรมเวิร์ก pass manager ใหม่นี้สามารถตรวจสอบความถูกต้องของไปป์ไลน์การคอมไพล์ก่อนการทำงานได้ โดยตรวจเช็กตัวแทนข้อมูลขาเข้าและขาออกที่ประกาศไว้สำหรับแต่ละ pass ตัวแทนข้อมูลที่มีมาให้ในระบบประกอบด้วย QkCircuit และ QkDag ขณะที่ IR ที่ผู้ใช้กำหนดเองก็สามารถอธิบายได้ผ่าน QkIrHandle

เรื่องนี้มีความสำคัญ เพราะงานด้านคอมไพเลอร์ของ Qiskit ถูกจัดระเบียบมากขึ้นเรื่อย ๆ รอบแนวทางการลดระดับโปรแกรมผ่านตัวแทนข้อมูลหลายชั้น ซึ่งเป็นรูปแบบที่เกี่ยวข้องทั้งกับโฟลว์การทรานส์ไพล์ในปัจจุบันและ toolchain สำหรับการทนต่อความผิดพลาดในอนาคต

ในด้านการซีเรียลไลซ์ Qiskit 2.6 กำหนดให้ฟอร์แมต QPY v18 เป็นค่าเริ่มต้น IBM ระบุว่าเวอร์ชันนี้ลดขนาดของวงจรที่ถูกซีเรียลไลซ์ลงได้ ด้วยการใช้การเข้ารหัสที่กะทัดรัดขึ้นสำหรับรีจิสเตอร์ควอนตัมและรีจิสเตอร์คลาสสิก ตามข้อมูลของบริษัท วงจรที่สร้างผ่าน C API ยังคงเข้ากันได้กับโมดูล qiskit.qpy ของ Python

การออกรุ่นนี้ยังคงรองรับรันไทม์ Python ขั้นต่ำที่ 3.10 ขณะที่การ build จากซอร์สตอนนี้ต้องใช้ Rust 1.89 นอกจากนี้ หน้าสรุปโรดแมปของ IBM ยังระบุว่า Qiskit 2.6.0 เปิดตัวเมื่อวันที่ 16 ตุลาคม 2026 และการแก้ไขบั๊กจะถูกส่งมอบผ่านแพตช์รีลีสหรือรีลีสย่อยถัดไป

ทำไมเรื่องนี้จึงสำคัญ

สำหรับผู้ใช้ Qiskit ส่วนใหญ่ Python ยังคงเป็นจุดเริ่มต้นหลัก แต่เห็นได้ชัดว่า IBM กำลังสร้างไปสู่โมเดลการใช้งานอีกรูปแบบหนึ่งเช่นกัน นั่นคือการเข้าถึงแกนคอมไพเลอร์และสแตกการประมวลผลชุดเดียวกันผ่านภาษาที่คอมไพล์แล้ว

การเปลี่ยนแปลงนี้เกี่ยวข้องโดยตรงกับสภาพแวดล้อมการประมวลผลสมรรถนะสูง ซึ่ง Python อาจเป็นข้อจำกัดในด้านแพ็กเกจจิง รันไทม์ หรือการบูรณาการ เอกสารของ IBM ระบุว่า C API ถูกออกแบบมาเพื่อให้ ABI ที่กำหนดชัดเจนแก่โมเดลข้อมูล Rust ภายใน และบล็อกของบริษัทยังวางกรอบให้ v2.6 เป็นอีกก้าวหนึ่งสู่การใช้ Qiskit ในสภาพแวดล้อมที่ไม่ได้ติดตั้ง Python

นอกจากนี้ยังเป็นสัญญาณของการเปลี่ยนผ่านเชิงสถาปัตยกรรมในวงกว้างด้วย โรดแมปของ Qiskit แสดงให้เห็นว่า IBM กำลังมุ่งไปสู่เสถียรภาพอย่างเป็นทางการของ ABI และ API สำหรับอินเทอร์เฟซ C ใน v2.7 ควบคู่ไปกับ middle-end IR แบบใหม่สำหรับการคอมไพล์ที่ทนต่อความผิดพลาด สำหรับ v2.8 โรดแมประบุถึง BackendV3 ซึ่งอธิบายไว้ว่าเป็นอินเทอร์เฟซแบ็กเอนด์แบบเนทีฟของ Rust ที่เปิดให้ใช้งานผ่าน Python และ C

สิ่งที่ต้องจับตา

คำถามสำคัญในระยะใกล้คือเรื่องเสถียรภาพ เอกสาร C API ปัจจุบันของ IBM ระบุว่าอินเทอร์เฟซนี้ยังควรถูกมองว่าอยู่ในขั้นทดลอง และอาจเปลี่ยนแปลงได้ระหว่างรีลีสย่อย ข้อแม้นี้มีความสำคัญสำหรับทีมซอฟต์แวร์ที่กำลังพิจารณาการบูรณาการในระดับลึก

ดังนั้น หมุดหมายถัดไปคือ Qiskit 2.7 ตามโรดแมปบน GitHub คาดว่าเวอร์ชันดังกล่าวจะกำหนดหลักประกันด้านเสถียรภาพสำหรับ C API และขยายความสามารถของคอมไพเลอร์เพิ่มเติม หาก IBM ทำได้ตามนั้น เส้นทาง non-Python ของ Qiskit จะเริ่มดูน้อยลงเหมือนโครงการงานระบบภายใน และมากขึ้นเหมือนอินเทอร์เฟซสำหรับใช้งานจริงของสแตกซอฟต์แวร์ควอนตัมแบบคอมไพล์แล้ว

แหล่งข้อมูล

ข้อเท็จจริงในหน้านี้มาจากแหล่งข้อมูลด้านล่าง ซึ่ง DesignQuantum ได้รวบรวมไว้

  1. Qiskit SDK v2.6 release summary | IBM Quantum Computing Blog ibm.com
  2. Qiskit SDK C API documentation (latest version) | IBM Quantum Documentation quantum.cloud.ibm.com
  3. Roadmap github.com
  4. IBM Releases Qiskit SDK v2.6 with C API Pass-Manager Framework, Native QPY Serialization, and Custom Operations - Quantum Computing Report quantumcomputingreport.com