Quantum computer tương lai có thể có hàng triệu physical qubit: Compiler phải quyết định chúng phối hợp thế nào để tạo ra một phép tính đáng tin
Trong máy tính lượng tử fault-tolerant, compiler không chỉ đổi một thuật toán thành chuỗi gate. Nó phải chọn mã sửa lỗi, đặt logical qubit vào vùng nhớ hay vùng tính toán, phân phối magic state, lập lịch syndrome extraction, tránh xung đột tài nguyên và nối decoder với feedback thời gian thực. CUDA-Q Logical mới của NVIDIA là một thử nghiệm xây lớp phần mềm đó thành pipeline có thể kiểm tra và đổi kiến trúc mà không phải viết lại ứng dụng.
Một quantum computer có một triệu physical qubit sẽ không cho lập trình viên một triệu qubit “sạch” để dùng trực tiếp. Phần lớn phần cứng có thể phải dành cho quantum error correction, syndrome measurement, ancilla, routing và những resource state đặc biệt. Một logical qubit đáng tin cậy có thể cần nhiều physical qubit phối hợp qua hàng loạt chu kỳ sửa lỗi.
Khi quy mô tiến tới mức đó, compiler không còn chỉ làm công việc quen thuộc là đổi một circuit thành gate mà phần cứng hiểu được. Nó phải trả lời những câu hỏi mang tính kiến trúc: logical qubit nào ở vùng nhớ, logical qubit nào được đưa tới vùng tính toán; chúng tương tác qua surface-code lattice surgery hay một qLDPC gadget; magic state được tạo ở đâu; bao nhiêu factory chạy song song; decoder phải trả kết quả trước deadline nào; và khi hai thao tác cùng cần một tài nguyên vật lý, thao tác nào phải chờ.
NVIDIA vừa công bố một hệ thống nhắm đúng lớp này. CUDA-Q Logical, ra mắt ngày 14/9/2026 cùng một paper dài 65 trang, được thiết kế như compiler infrastructure cho fault-tolerant quantum computing. Thay vì gắn một chương trình với duy nhất một error-correction code hay một hardware layout, framework giữ nguyên “ý định logic” của chương trình rồi hạ dần qua nhiều tầng: logical machine, QEC microcode, physical schedule và cuối cùng là real-time control.
Điểm đáng chú ý không phải CUDA-Q Logical đã điều khiển một quantum computer hàng triệu qubit. Paper không làm điều đó. Nhóm tác giả chủ yếu chứng minh rằng một workload có thể được đưa xuyên qua nhiều tầng fault-tolerant compilation mà vẫn giữ được assumptions, provenance và resource accounting — chính những thứ dễ bị mất khi ghép nhiều tool riêng lẻ với nhau.
Physical qubit và logical qubit là hai đơn vị rất khác nhau
Một physical qubit là phần tử phần cứng thực — chẳng hạn superconducting circuit, trapped ion, neutral atom hoặc spin trong silicon — và nó chịu noise. Một logical qubit là thông tin được mã hóa trên nhiều physical qubit để lỗi riêng lẻ có thể được phát hiện và sửa trước khi phá hỏng phép tính.
Với stabilizer code dạng [[n,k,d]], n physical qubit được dùng để mang k logical qubit, còn code distance d quyết định mức lỗi có thể phát hiện hoặc sửa. Con số physical qubit cần cho một logical qubit không cố định: nó thay đổi theo code, error rate của hardware, target logical error rate, connectivity, architecture và cách các logical operation được thực hiện.
Đó là lý do nói “máy tính lượng tử tương lai cần hàng triệu qubit” chỉ có ý nghĩa khi chỉ rõ qubit nào và dưới assumptions nào. Một architecture surface-code bảo thủ có thể cần hàng triệu hoặc hàng chục triệu physical qubit cho một workload lớn; một qLDPC architecture với connectivity phù hợp có thể giảm mạnh overhead trong các model lý thuyết. Compiler vì thế không chỉ tối ưu vài phần trăm runtime. Lựa chọn của nó có thể làm thay đổi footprint phần cứng ở cấp bậc lớn.
Trong máy fault-tolerant, chương trình phải được “hạ” qua nhiều thế giới
CUDA-Q Logical chia quá trình thành các profile P0 tới P4.
P0 giữ logical intent: thuật toán muốn chuẩn bị state nào, thực hiện phép logic gì và yêu cầu success nào. Ở tầng này chưa chọn surface code hay qLDPC.
P1 đặt workload lên một logical virtual machine. Compiler bắt đầu quyết định logical state nằm ở compute region hay memory region, resource state đến từ factory nào và các logical value được phép di chuyển qua channel nào. Nhưng vẫn chưa buộc vào physical qubit cụ thể.
P2 mới chọn QEC code, encoding và các fault-tolerant gadget. Một logical CNOT chẳng hạn không còn là một hộp trừu tượng; nó phải được hiện thực bằng lattice surgery, transversal operation hoặc một protocol khác, kèm detector, observable và semantics cho retry hoặc decoding.
P3 biến những lựa chọn đó thành physical events có timing, resource, movement và schedule. Đây là tầng nơi xung đột tài nguyên trở nên thật: hai operation không thể cùng dùng một patch, factory hay transport path nếu hardware không cho phép.
P4 đi xuống control plane: instruction delivery, syndrome transport, decoding deadline và feedback. Nếu kết quả decoder quyết định operation kế tiếp, classical compute trở thành một phần của critical path chứ không phải hệ phụ đứng ngoài quantum processor.
Kiến trúc tầng này nghe giống compiler của CPU/GPU, nhưng có một khác biệt lớn: compiler quantum fault-tolerant còn phải duy trì bằng chứng rằng mỗi lowering không làm thay đổi ý nghĩa logic và rằng error-correction artifacts được nối với đúng circuit, đúng detector convention và đúng decoder.
Compiler phải lập lịch cả những thứ không xuất hiện trong thuật toán
Một quantum algorithm thường được viết bằng logical gate. Nhưng hardware fault-tolerant cần rất nhiều việc “vô hình” với lập trình viên.
Surface code phải lặp syndrome extraction. Một số non-Clifford gate cần magic state được chuẩn bị hoặc distill trong factory riêng. Logical qubit có thể phải chuyển từ vùng memory sang compute. Measurement result phải đi tới decoder; decoder có thể phải cập nhật Pauli frame hoặc quyết định nhánh tiếp theo. Các ancilla được tạo, dùng rồi giải phóng liên tục.
Nếu chỉ lấy số gate logic rồi nhân với một hệ số trung bình, ta có thể bỏ lỡ bottleneck. Ví dụ một thiết kế có thêm nhiều CCZ factory có thể giảm runtime khi workload đang thiếu magic state. Nhưng sau một ngưỡng, thêm factory chỉ làm tăng physical-qubit footprint vì bottleneck đã chuyển sang reaction latency hoặc code depth.
Paper CUDA-Q Logical dùng chính ví dụ này khi tái tạo một resource model nổi tiếng cho factoring RSA-2048 của Gidney–Ekerå. Ở operating point được chọn, compiler-derived schedule cho khoảng 5,046 giờ mỗi run và footprint 19.252.128 physical qubit, khớp với phép dựng độc lập theo cùng assumptions. Khi sweep số CCZ factory, runtime giảm cho tới khi đạt plateau; từ đó thêm factory không còn giúp nhanh hơn mà chỉ tăng số qubit.
Điểm quan trọng không phải con số 19 triệu là dự báo cho một cỗ máy chắc chắn sẽ được xây. Nó là một model theo một architecture và error-correction assumption cụ thể. Giá trị của compiler nằm ở khả năng cho thấy vì sao con số thay đổi khi đổi factory count, carry-runway separation hoặc QEC strategy.
Một workload, nhiều cách tạo fault tolerance
Một trong những vấn đề của fault-tolerant quantum research hiện nay là nhiều paper resource-estimation dùng model và assumptions riêng. Hai architecture có thể đều báo “số physical qubit” nhưng định nghĩa resource, timing hay decoder requirement khác nhau, khiến so sánh dễ thành apples-to-oranges.
CUDA-Q Logical cố xử lý vấn đề này bằng cách giữ workload và metric cố định, sau đó thay code, gadget, provider hoặc hardware model bên dưới. Paper trình diễn một chương trình không đổi được compile qua bốn QEC route thuộc hai code và hai provider khác nhau tới executable circuit.
Framework cũng cho phép đưa qLDPC code bên ngoài vào thông qua typed interface. Infleqtion, một trong các nhóm dùng early-access version, đang nối thư viện qLDPC của họ vào CUDA-Q Logical để mô tả code, syndrome-extraction plan, noise model và decoder trên neutral-atom architecture. Theo Infleqtion, một code thử nghiệm có encoding rate cao hơn surface-code baseline mà họ chọn, nhưng đây vẫn là architecture study; chưa phải bằng chứng một quantum processor thương mại đã đạt overhead đó khi chạy workload thực.
QEC compiler còn phải “nói chuyện” với decoder
Quantum error correction tạo ra một lượng lớn dữ liệu cổ điển. Mỗi code cycle cho ra syndrome bit; decoder phải dùng chúng để suy ra error pattern hoặc ít nhất recovery class phù hợp. Trong hệ lớn, đây có thể là một stream liên tục với latency constraint nghiêm ngặt.
Vấn đề là detector không phải những bit độc lập đơn giản. Ý nghĩa của chúng phụ thuộc measurement order, code boundary và cách các gadget nối với nhau. Nếu compiler thay circuit nhưng decoder vẫn dùng convention cũ, hệ có thể “chạy” mà logic sửa lỗi đã sai.
CUDA-Q Logical vì vậy coi detector model và decoder binding là compiler artifact có type, không phải file phụ được tạo sau. Nhóm tác giả cho thấy các extended detector error model của từng gadget có thể được compose để tái tạo đúng detector error model mà Stim tạo ra cho circuit hoàn chỉnh trong một test case.
Đây là chi tiết rất hệ thống nhưng quan trọng ở quy mô lớn: compiler phải bảo đảm không chỉ qubit gate đúng thứ tự, mà cả dữ liệu classical sinh ra từ QEC cũng được diễn giải đúng.
Classical computer có thể trở thành bottleneck của quantum computer
Một fault-tolerant QPU lớn sẽ không hoạt động độc lập. Nó cần classical control đủ nhanh để đọc measurement, decode syndrome, quyết định feed-forward và phát lệnh tiếp theo trong khoảng thời gian mà protocol cho phép.
Paper phân biệt rất rõ giữa lịch causal hợp lệ và hardware thực sự đáp ứng latency. CUDA-Q Logical có thể kiểm tra rằng measurement, decoding và feedback xuất hiện theo đúng thứ tự bắt buộc; nó chưa chứng minh controller, network hay decoder ngoài đời có đủ throughput, jitter hoặc latency để giữ deadline.
Đó là một giới hạn quan trọng của mọi resource estimate. Hàng triệu physical qubit đồng nghĩa không chỉ hàng triệu phần tử quantum. Nó còn kéo theo control electronics, measurement channel và classical compute có thể phải xử lý một lượng syndrome khổng lồ theo thời gian thực. Nếu classical path không theo kịp, thêm qubit không biến thành thêm năng lực tính toán hữu dụng.
“Compiler tối ưu” ở đây không có một đáp án duy nhất
Trên CPU cổ điển, compiler thường tối ưu runtime, code size hoặc năng lượng. Với quantum fault-tolerant, objective phức tạp hơn nhiều.
Một architecture có thể dùng ít physical qubit hơn nhưng chạy lâu hơn. Một code có encoding rate tốt nhưng đòi connectivity khó sản xuất. Một factory lớn hơn tạo magic state nhanh hơn nhưng chiếm diện tích. Một decoder chính xác hơn có thể dùng quá nhiều classical compute. Một layout dày đặc tiết kiệm qubit nhưng làm routing phức tạp.
Vì thế compiler không chỉ “tìm circuit ngắn nhất”. Nó phải hỗ trợ co-design giữa algorithm, QEC code, hardware topology, resource factory, scheduler và control system. NVIDIA cho biết Fermilab dùng early workflow của CUDA-Q Logical để rút một quá trình đánh giá architecture vốn mất khoảng năm tháng xuống ba tuần; con số này là case study do các bên công bố, không phải benchmark độc lập về mọi loại workload.
CUDA-Q Logical vẫn là preview, chưa phải bộ điều khiển cho máy triệu qubit
Tài liệu NVIDIA hiện đánh dấu CUDA-Q Logical là preview; API và behavior còn có thể thay đổi. Paper cũng nói rõ năm evaluation study không chạy trên fault-tolerant hardware thực và không chứng minh circuit distance, threshold hay physical fault tolerance.
Nhóm tác giả liệt kê các bước còn thiếu: P4 target phải được gắn với hardware thật; noise và timing model cần calibration; physical scheduler phải tính cả routing và hook error; hỗ trợ dynamic và non-Clifford protocol phải rộng hơn; detector model cần được nối tới probability sweep, decoder và execution end-to-end.
Nói cách khác, đây là infrastructure để nghiên cứu và kiểm tra architecture, chưa phải operating system hoàn chỉnh cho quantum data center tương lai.
Khi qubit tăng, software phải biết mỗi qubit đang “làm nghề” gì
Những quantum processor hiện nay thường được mô tả bằng số physical qubit và fidelity. Ở fault-tolerant scale, hai con số đó sẽ không đủ. Hàng triệu physical qubit có thể được chia thành logical memory, compute patches, ancilla, communication fabric và magic-state factories; cùng một lượng hardware nhưng tổ chức khác nhau có thể cho runtime và logical error hoàn toàn khác.
Compiler là lớp biến một thuật toán trừu tượng thành sự phân công đó. Nó phải biết physical resource nào đang bảo vệ dữ liệu, resource nào đang tạo trạng thái phụ, resource nào đang chờ, và kết quả classical nào phải quay lại trước khi bước tiếp theo được phép xảy ra.
Vì vậy bài toán scale quantum computer không chỉ là chế tạo nhiều qubit hơn và giảm error rate. Khi fault tolerance trở thành mặc định, phần mềm phải biến một “biển” physical qubit nhiều lỗi thành một số logical qubit ít lỗi đủ để chạy chương trình dài. Hardware tạo ra qubit; compiler quyết định chúng phải phối hợp ra sao để số qubit đó thực sự trở thành một máy tính.
Nguồn
- Alexander McCaskey và cộng sự, “CUDA-Q Logical: Retargetable Compilation for Fault-Tolerant Quantum Computing”, NVIDIA Research, 2026.
- CUDA-Q Logical preprint, arXiv:2609.13388.
- NVIDIA CUDA-Q Logical documentation — preview release.
- NVIDIA — CUDA-Q Logical announcement, 14/9/2026.
- Infleqtion — qLDPC integration with CUDA-Q Logical, 2026.
- Shiro Tamiya, Masato Koashi & Hayata Yamasaki, “Fault-tolerant quantum computation with polylogarithmic time and constant space overheads”, Nature Physics, 2026.