IBM đưa Qiskit tiến xa hơn khỏi Python với bản phát hành SDK v2.6
Qiskit SDK v2.6 của IBM bổ sung pass manager cho C API, tuần tự hóa QPY gốc và các phép toán tùy chỉnh khi IBM thúc đẩy quy trình làm việc không bắt buộc dùng Python.
Trang này được dịch từ tiếng Anh. Tên công ty, sản phẩm và liên kết nguồn được giữ nguyên. Đọc bản gốc tiếng Anh
IBM đã phát hành Qiskit SDK v2.6, một bản cập nhật phần mềm tập trung vào giao diện C cấp thấp của dự án thay vì lớp Python vốn quen thuộc hơn. Theo bản tóm tắt phát hành ngày 22 tháng 10 của IBM, bản cập nhật bổ sung một khung pass manager cho C API, đưa khả năng tuần tự hóa mạch QPY vào các quy trình làm việc bằng ngôn ngữ biên dịch, và cho phép các nhà phát triển định nghĩa các phép toán lượng tử tùy chỉnh trực tiếp từ C. Tổng thể, những thay đổi này tiếp tục nỗ lực của IBM nhằm giúp nhiều thành phần hơn của Qiskit có thể dùng được mà không cần môi trường chạy Python.
Những gì đã được công bố
Bản phát hành v2.6 mở rộng C API của Qiskit, mà IBM mô tả là một giao diện cấp thấp tới mô hình dữ liệu lõi dựa trên Rust của Qiskit để sử dụng từ các ngôn ngữ biên dịch. IBM cho biết giao diện này được thiết kế vừa để sử dụng độc lập không cần Python, vừa để xây dựng các phần mở rộng Python hiệu năng cao hơn tương tác trực tiếp với các đối tượng Rust của Qiskit.
Trong Qiskit v2.6, IBM đã bổ sung một khung pass manager tổng quát vào C API đó. Các thành phần mới gồm QkPassManager, QkPassVtable và QkIrHandle, cùng nhau cho phép các nhà phát triển tạo các pass của trình biên dịch và xâu chuỗi chúng thành các pipeline có kiểm tra kiểu trên nhiều biểu diễn trung gian.
Bản phát hành cũng đưa các hàm tuần tự hóa QPY vào C API, cho phép các chương trình viết bằng những ngôn ngữ như C, C++ và Julia ghi và đọc định dạng mạch nhị phân của Qiskit mà không cần đi vòng qua Python. Ngoài ra, theo IBM, các nhà phát triển giờ đây có thể định nghĩa các phép toán tùy chỉnh thông qua giao diện C vtable, bao gồm cả các phép toán gốc của phần cứng.
Chi tiết kỹ thuật
IBM cho biết khung pass manager mới có thể xác thực một pipeline biên dịch trước khi thực thi bằng cách kiểm tra các biểu diễn đầu vào và đầu ra đã khai báo cho từng pass. Các biểu diễn tích hợp sẵn gồm QkCircuit và QkDag, trong khi các IR do người dùng định nghĩa cũng có thể được mô tả thông qua QkIrHandle.
Điều đó quan trọng vì công việc trình biên dịch của Qiskit ngày càng được tổ chức xoay quanh việc hạ thấp chương trình qua nhiều biểu diễn, một mô hình phù hợp cả với các luồng chuyển đổi hiện nay lẫn các chuỗi công cụ chịu lỗi trong tương lai.
Về tuần tự hóa, Qiskit 2.6 đặt định dạng QPY v18 làm mặc định. IBM cho biết phiên bản này giảm kích thước của các mạch đã được tuần tự hóa bằng cách dùng mã hóa gọn hơn cho các thanh ghi lượng tử và cổ điển. Theo công ty, các mạch được tạo qua C API vẫn tương thích với mô-đun qiskit.qpy của Python.
Bản phát hành vẫn giữ phiên bản môi trường chạy Python tối thiểu được hỗ trợ ở mức 3.10, trong khi việc build từ mã nguồn nay yêu cầu Rust 1.89. Trang lộ trình của IBM cũng lưu ý rằng Qiskit 2.6.0 đã được phát hành vào ngày 16 tháng 10, 2026 và các bản sửa lỗi sẽ được cung cấp thông qua các bản vá hoặc bản phát hành phụ tiếp theo.
Vì sao điều này quan trọng
Với phần lớn người dùng Qiskit, Python vẫn là điểm tiếp cận chính. Nhưng IBM rõ ràng cũng đang xây dựng hướng tới một mô hình triển khai khác: truy cập từ ngôn ngữ biên dịch vào cùng một ngăn xếp lõi cho trình biên dịch và thực thi.
Sự chuyển dịch đó có ý nghĩa với các môi trường tính toán hiệu năng cao, nơi Python có thể là một ràng buộc về đóng gói, môi trường chạy hoặc tích hợp. Tài liệu của IBM cho biết C API được thiết kế để cung cấp một ABI được xác định rõ cho mô hình dữ liệu Rust nội bộ, và bài blog của công ty mô tả v2.6 là một bước nữa hướng tới việc sử dụng Qiskit trong các môi trường không cài Python.
Điều này cũng cho thấy một sự chuyển đổi kiến trúc rộng hơn. Lộ trình của Qiskit cho thấy IBM đang hướng tới sự ổn định chính thức của ABI và API cho giao diện C trong v2.7, cùng với một IR middle-end mới cho biên dịch chịu lỗi. Với v2.8, lộ trình chỉ ra BackendV3, được mô tả tại đó là một giao diện backend gốc Rust được đưa ra cho Python và C.
Điều cần theo dõi
Câu hỏi trước mắt là độ ổn định. Tài liệu C API hiện tại của IBM cho biết giao diện này vẫn nên được xem là thử nghiệm và có thể thay đổi giữa các bản phát hành phụ. Lưu ý đó rất quan trọng với các nhóm phần mềm đang cân nhắc tích hợp sâu.
Vì vậy, cột mốc tiếp theo là Qiskit 2.7. Theo lộ trình trên GitHub, phiên bản đó được kỳ vọng sẽ xác định các đảm bảo về độ ổn định cho C API và tiếp tục mở rộng chức năng của trình biên dịch. Nếu IBM thực hiện được điều đó, hướng đi không dùng Python của Qiskit sẽ bắt đầu giống một giao diện sản xuất cho các ngăn xếp phần mềm lượng tử biên dịch hơn là một dự án hạ tầng nội bộ.
Nguồn
Các thông tin trên trang này được tổng hợp từ các nguồn dưới đây, do DesignQuantum truy xuất.
- Qiskit SDK v2.6 release summary | IBM Quantum Computing Blog ibm.com
- Qiskit SDK C API documentation (latest version) | IBM Quantum Documentation quantum.cloud.ibm.com
- Roadmap github.com
- IBM Releases Qiskit SDK v2.6 with C API Pass-Manager Framework, Native QPY Serialization, and Custom Operations - Quantum Computing Report quantumcomputingreport.com