Tin tức: LineShine chiếm ngôi vương TOP500

Siêu máy tính LineShine của Trung Quốc vừa đánh bại El Capitan của Mỹ để đứng đầu bảng xếp hạng TOP500 với tốc độ 2,198 exaflops, tương đương hơn 2 tỷ tỷ phép tính mỗi giây. Điều đáng chú ý nhất: LineShine hoàn toàn không dùng GPU. Toàn bộ sức mạnh đến từ 13,79 triệu lõi CPU thuần túy. Bí mật nằm ở kiến trúc SIMD và các phần mở rộng vector của Arm.

SIMD là gì, và tại sao nó quan trọng?

SIMD, viết tắt của Single Instruction Multiple Data, là kỹ thuật cho phép một lệnh CPU xử lý nhiều dữ liệu cùng lúc. Hãy hình dung bạn cần cộng hai mảng 8 số. Cách truyền thống: CPU lấy từng cặp, cộng, lưu kết quả, lặp lại 8 lần. Với SIMD: CPU nhét cả 8 cặp vào các thanh ghi đặc biệt rộng hơn bình thường, rồi thực hiện một lệnh duy nhất để cộng tất cả cùng lúc. Kết quả: Tốc độ tăng gấp nhiều lần mà không cần thêm lõi xử lý.

Bài toán chiều rộng cố định

Intel đã triển khai SIMD từ lâu: SSE dùng thanh ghi 128-bit (xử lý 4 số thực 32-bit cùng lúc), AVX mở rộng lên 256-bit, AVX-512 đẩy lên 512-bit. Vấn đề là mỗi lần Intel tăng chiều rộng, lập trình viên phải viết lại code hoặc biên dịch lại. Phần mềm tối ưu cho SSE không tự động tận dụng được AVX-512. Đây là điểm yếu cố hữu của SIMD chiều rộng cố định: phần cứng tiến lên phía trước, nhưng phần mềm bị kẹt lại phía sau.

Arm SVE: viết code một lần, chạy mọi nơi

Arm giải quyết bài toán này bằng SVE (Scalable Vector Extension). Thay vì quy định chiều rộng thanh ghi cố định, SVE cho phép phần cứng tự quyết định, từ 128-bit đến 2048-bit. Lập trình viên viết code với các vòng lặp vector "không biết chiều rộng" (vector-length agnostic, viết tắt VLA). Khi chạy trên chip có thanh ghi 256-bit, mỗi lệnh xử lý 8 số thực. Cùng đoạn code đó chạy trên chip có thanh ghi 512-bit sẽ tự động xử lý 16 số. Không cần biên dịch lại, không cần sửa một dòng code nào.

Cách SVE làm được điều này khá tinh tế: thay vì nói "xử lý đúng 8 phần tử", SVE dùng cơ chế "predicate register" để đánh dấu phần tử nào đang hoạt động. Nếu mảng có 13 phần tử và thanh ghi chứa được 8, vòng lặp đầu xử lý 8, vòng sau chỉ bật 5 bit trong predicate. Không cần code riêng cho phần đuôi.

SME: phép nhân ma trận bằng phần cứng

SVE xử lý tốt các phép tính từng phần tử: cộng, nhân, so sánh. Nhưng mô phỏng khoa học và AI đòi hỏi phép nhân ma trận, trong đó mỗi phần tử kết quả là tổng của nhiều phép nhân chéo. Arm bổ sung SME (Scalable Matrix Extension) với lệnh "outer product": lấy một vector cột nhân với một vector hàng để tạo ra toàn bộ ma trận con trong một bước duy nhất. Đây chính xác là loại phép tính mà GPU NVIDIA làm tốt nhờ hàng nghìn lõi nhỏ. SME giúp CPU Arm đạt hiệu quả tương đương, chỉ với ít lõi hơn nhưng mỗi lõi mạnh hơn nhiều.

LineShine: khi 13,79 triệu lõi SVE+SME hợp lực

Mỗi chip LX2 trong LineShine có 304 lõi, tổ chức thành 8 cụm với 38 lõi mỗi cụm. Mỗi lõi trang bị cả SVE lẫn SME, chạy ở tốc độ 1,55 GHz. Nhân với hàng chục nghìn chip kết nối bằng mạng nội bộ LingQi, LineShine huy động 13,79 triệu lõi hoạt động song song. Kết quả: 2,198 exaflops, nhanh hơn 20% so với El Capitan của Mỹ, hệ thống vốn dựa vào GPU AMD Instinct MI300A.

Thành tựu này càng có ý nghĩa khi Mỹ đã hạn chế xuất khẩu GPU tiên tiến sang Trung Quốc từ năm 2022. Nhờ đầu tư vào kiến trúc CPU Arm với SIMD thế hệ mới, Trung Quốc tìm ra con đường riêng đến exascale mà không phụ thuộc chip NVIDIA.

Tuy nhiên, giới chuyên gia cảnh báo rằng bảng xếp hạng TOP500 đo hiệu năng tính toán truyền thống bằng benchmark HPL, không phải khả năng AI. Trên benchmark HPL-MxP chuyên đo hiệu năng AI, LineShine chỉ xếp thứ tư, sau ba hệ thống Mỹ dùng GPU. SIMD giỏi xử lý song song dữ liệu đồng nhất, nhưng các mô hình AI hiện đại đòi hỏi kiến trúc linh hoạt hơn mà GPU vẫn đang chiếm ưu thế.