Xe Matrix Engine là gì - Lõi XMX tăng tốc AI nhưng chưa chắc tăng FPS

Xe Matrix Engine là gì - Lõi XMX tăng tốc AI nhưng chưa chắc tăng FPS

Xe Matrix Engine là lõi nhân ma trận XMX trong mỗi Xe-core của GPU Intel, xử lý 4.096 phép tính INT8 mỗi xung, gấp 4 lần lệnh DP4a. Khối này tăng tốc AI và XeSS, còn FPS trò chơi do lõi vector quyết định.

Chia sẻ:

Nhiều bảng thông số laptop dùng chip Intel nhắc tới Xe Matrix Engine kèm những con số TOPS lớn hơn cả NPU, khiến nhiều người nghĩ đồ họa tích hợp sẽ chơi game mượt hơn tương ứng. Về bản chất, đây là khối phần cứng chuyên làm phép nhân ma trận, loại phép toán chiếm phần lớn khối lượng tính của mô hình AI, có tên chính thức là Xe Matrix Extensions, viết tắt XMX. Dựa trên tài liệu kiến trúc do Intel công bố, bài viết giải thích XMX vận hành ra sao, chip nào có và chip nào không, cách đọc TOPS, phần mềm nào tận dụng được và vì sao FPS trò chơi không tăng theo.

Xe Matrix Engine là khối nhân ma trận nằm trong Xe-core

Theo sách trắng kiến trúc Xe-HPG của Intel, Xe Matrix Engine là một mảng systolic gồm nhiều bộ tính số học xếp thành lưới, được gọi bằng lệnh DPAS (Dot Product Accumulate Systolic). Trong mảng systolic, dữ liệu chảy lần lượt qua từng ô tính, mỗi ô nhân hai số rồi cộng dồn vào kết quả trước khi chuyển tiếp, nên một lệnh xử lý cả khối phép nhân cộng thay vì từng cặp số riêng lẻ. Từ mô hình nhận dạng ảnh tới mô hình ngôn ngữ, mạng nơ-ron đều quy về phép nhân ma trận cỡ lớn, vì vậy Intel gọi khối này là động cơ AI của GPU.

Xe Matrix Engine thực hiện phép nhân ma trận theo mảng systolic trong GPU Intel

Intel XMX không hỗ trợ mọi kiểu dữ liệu. Sách trắng liệt kê các định dạng FP16, BF16, INT8, INT4 và INT2, kết quả cộng dồn ở độ chính xác 16 hoặc 32 bit. Tài liệu Precision Control của OpenVINO ghi rõ khối XMX trên GPU không hỗ trợ FP32, nên mô hình muốn được tăng tốc phải chuyển sang phiên bản FP16, BF16 hoặc đã lượng tử hóa xuống INT8. Khác biệt giữa số nguyên 8 bit và số thực 16 bit trong suy luận AI được giải thích trong bài INT8 là gì - Vì sao NPU tính AI bằng số nguyên 8 bit thay vì FP16.

Về vị trí, lõi XMX nằm ngay trong từng Xe-core, cạnh các lõi vector (XVE) phụ trách tô bóng điểm ảnh. Ở thế hệ Xe-HPG của dòng Arc A-series, mỗi Xe-core có 16 lõi vector và 16 lõi XMX. Sang Xe2 của Lunar Lake và Battlemage, Intel chia lại thành 8 lõi vector 512 bit và 8 lõi XMX rộng 2048 bit trên mỗi Xe-core, đồng thời cho phép phát lệnh song song ba luồng gồm số thực, số nguyên và ma trận. Như vậy Xe Matrix Engine không phải chip rời hay linh kiện nâng cấp được, mà là một phần cố định của bộ xử lý đồ họa.

Lõi XMX tính nhanh gấp bao nhiêu lần lõi vector thông thường

Cách rõ ràng để thấy công dụng của XMX là xem số phép tính mỗi xung nhịp mà Intel công bố cho một Xe-core. Bảng dưới gộp số liệu từ sách trắng Xe-HPG và tài liệu kiến trúc Xe2 trình bày tại Intel Tech Tour 2024. Với Xe-HPG, Intel công bố thông lượng theo từng lõi vector, nên số trong bảng đã nhân với 16 lõi vector của một Xe-core để cùng đơn vị với Xe2.

Phép tính Khối thực hiện Xe-HPG (phép tính/xung/Xe-core) Xe2 (phép tính/xung/Xe-core)
FP32 nhân cộng Lõi vector 256 256
INT8 qua lệnh DP4a Lõi vector 1.024 1.024
FP16, BF16 qua lệnh DPAS XMX 2.048 2.048
INT8 qua lệnh DPAS XMX 4.096 4.096
INT4, INT2 qua lệnh DPAS XMX 8.192 8.192

Ở INT8, một Xe-core dùng XMX làm được 4.096 phép tính mỗi xung, gấp 4 lần đường DP4a trên lõi vector và gấp 16 lần phép FP32 thông thường. Đó là nguồn gốc của mức chênh 16 lần hay được nhắc khi nói về Intel XMX. Đây vẫn là thông lượng đỉnh trên giấy, chỉ đạt được khi phần mềm hỗ trợ đúng định dạng, đưa dữ liệu vào liên tục và duy trì cho mảng systolic luôn có việc, không phải mức chênh lệch mà mọi ứng dụng AI đều nhận được.

Bảng cũng cho thấy một điểm ít được để ý: tính trên mỗi Xe-core và mỗi xung, Xe2 không nhanh hơn Xe-HPG. Ưu thế của Xe2 nằm ở cách chia lõi gọn hơn, hiệu suất điện năng tốt hơn và khả năng đưa Intel XMX vào đồ họa tích hợp tiêu thụ ít điện. Muốn TOPS của toàn GPU tăng, Intel phải tăng số Xe-core hoặc xung nhịp, nên khi so hai GPU Intel có Xe Matrix Engine, số Xe-core và xung nhịp GPU nói lên nhiều điều hơn danh xưng thế hệ.

Đồ họa Intel nào có XMX và thế hệ nào chỉ dùng DP4a

Không phải bộ xử lý đồ họa Intel nào cũng có Intel XMX. Sách trắng Xe-HPG xác nhận DPAS chỉ có trên Xe-HPG, còn Xe-LP đời trước chỉ có DP4a, lệnh tính tích vô hướng bốn cặp số INT8 chạy trên lõi vector. Đồ họa Xe-LPG của Meteor Lake (Core Ultra series 1) cũng thuộc nhóm này: sách trắng Core Ultra cho thiết bị biên của Intel liệt kê tăng tốc học sâu qua DP4a, và Core Ultra 7 165H được ghi 18,8 TOPS INT8 cho GPU 8 Xe-core.

Bảng phân loại đồ họa Intel có lõi XMX và thế hệ chỉ dùng lệnh DP4a

Với Arrow Lake, Intel tách hai nhánh. Bảng tra nhanh Core Ultra 200H và 200U ghi XMX tích hợp và kiến trúc Xe-LPG+ chỉ có trên bản H, tức đồ họa Arc 140T và Arc 130T, còn bản U mang tên Intel Graphics không có ghi chú này. Bản desktop Core Ultra 200S chỉ có 4 Xe-core dùng DP4a, tối đa 8 TOPS theo tài liệu ra mắt của Intel. Phần so sánh hai iGPU dòng H và dòng V đã có ở bài Arc 140T là gì - Đồ họa tích hợp Intel khác Arc 140V ở điểm nào, ở đây chỉ cần nhớ cả Arc 140T lẫn Arc 140V đều có lõi XMX.

Từ Lunar Lake trở đi, XMX được kích hoạt như trang bị tiêu chuẩn. Xe2 trên Arc 140V có 8 Xe-core, mỗi Xe-core 8 lõi XMX, Intel công bố mức đỉnh 67 TOPS INT8, còn card rời Arc B-series dùng cùng Xe-core thế hệ hai. Core Ultra series 3 (Panther Lake) chuyển sang Xe3 với Arc B390 12 Xe-core, Arc B370 10 Xe-core và bản Intel Graphics 4 hoặc 2 Xe-core. Chú thích trong bảng tra nhanh của Intel giải thích TOPS GPU cao là nhờ Xe Matrix Engine vận hành trên mảng systolic, nên đời chip là manh mối nhanh để biết laptop có XMX hay không.

Cách đọc TOPS của GPU Intel và vì sao khác NPU

TOPS là số nghìn tỷ phép tính mỗi giây ở thông lượng đỉnh. Với GPU Intel, con số này gần như là phép nhân đơn giản: số Xe-core nhân số phép tính mỗi xung của một Xe-core, rồi nhân với xung nhịp GPU tối đa. Bảng dưới lấy số liệu từ bảng tra nhanh Core Ultra series 3 và sách trắng Meteor Lake của Intel, đặt một chip không có XMX cạnh bốn cấu hình Panther Lake có Intel XMX.

Chip (GPU) Đường tính AI Số Xe-core Xung nhịp GPU tối đa (GHz) TOPS GPU TOPS NPU
Core Ultra 7 165H (Arc, Meteor Lake) DP4a 8 2,3 18,8 10,6
Core Ultra 5 332 (Intel Graphics) XMX 2 2,3 18 46
Core Ultra 5 335 (Intel Graphics) XMX 4 2,45 40 47
Core Ultra 5 338H (Arc B370) XMX 10 2,4 98 47
Core Ultra X9 388H (Arc B390) XMX 12 2,5 122 50

Hai dòng đầu bảng cho thấy rõ bản chất của XMX: Meteor Lake cần 8 Xe-core chạy DP4a mới đạt 18,8 TOPS, còn Panther Lake chỉ với 2 Xe-core có Xe Matrix Engine đã đạt 18 TOPS. Phép tính tự làm khớp với con số Intel xác nhận, ví dụ 12 Xe-core nhân 4.096 phép INT8 nhân 2,5 GHz ra khoảng 122,9 TOPS cho Arc B390. Intel ghi chú đây là PTOPS, giá trị tính toán dựa trên giả định về xung nhịp tối đa và kiểu dữ liệu, nên TOPS GPU luôn là mức đỉnh lý thuyết, không phải hiệu năng duy trì lâu.

TOPS của GPU và NPU thuộc hai khối khác nhau, không cộng lại thành sức mạnh của một bộ xử lý. Sách trắng Meteor Lake xếp GPU vào vai thông lượng cao cho tác vụ AI phức tạp, còn NPU vào vai điện năng thấp cho tác vụ AI chạy liên tục. Trên Core Ultra X9 388H, GPU đạt 122 TOPS trong khi NPU đạt 50 TOPS, nhưng GPU còn phải lo kết xuất hình ảnh và tốn điện hơn đáng kể. Cách các hãng gộp hai con số này thành tổng nền tảng được phân tích trong bài Cộng dồn TOPS: con số 120 Platform TOPS có nói lên gì?.

Phần mềm nào gọi được lõi XMX khi chạy trên laptop

Phần cứng chỉ phát huy công dụng khi phần mềm gửi phép toán qua lệnh DPAS. Sách trắng Xe-HPG nêu các đường chính gồm bộ công cụ OpenVINO, API WinML của Microsoft và thư viện clDNN dùng trong nhiều khung học sâu. Sách trắng về Arc cho thiết bị biên của Intel mô tả thêm cách đưa mô hình PyTorch vào OpenVINO bằng hàm convert_model hoặc dùng OpenVINO làm backend của torch.compile. Ứng dụng AI Playground do Intel phát hành cũng dựa vào Intel XMX để tạo ảnh, chỉnh ảnh và trả lời câu hỏi cục bộ trên card Arc B-series.

Cập nhật driver và theo dõi nhiệt độ để lõi XMX duy trì xung nhịp khi chạy tác vụ AI trên laptop

Điều kiện thứ hai là kiểu dữ liệu. OpenVINO có hai chế độ thực thi: chế độ hiệu năng cho phép thiết bị đổi sang kiểu dữ liệu nhỏ hơn, còn chế độ độ chính xác giữ phép tính số thực ở f32 nếu thiết bị hỗ trợ. Vì khối ma trận không làm FP32, ứng dụng chọn chế độ độ chính xác thì Xe Matrix Engine đóng góp rất ít, trừ các toán tử đã lượng tử hóa INT8 vẫn chạy ở INT8. NPU cũng gặp cảnh phần cứng có sẵn mà phần mềm không gọi tới, như phân tích trong bài NPU Intel: TOPS cao vô nghĩa nếu phần mềm không gọi tới.

Driver và xung nhịp là điều kiện cuối, gắn với giới hạn phần cứng của từng laptop. TOPS của GPU tính ở xung nhịp tối đa, trong khi iGPU chia chung ngân sách điện với CPU, nên laptop chạy pin hoặc tản nhiệt yếu sẽ hạ xung nhịp và kéo thông lượng XMX xuống theo. Bảng tra nhanh Arrow Lake cũng ghi mọi TOPS là mức tối đa xấp xỉ, mỗi SKU có xung nhịp và công suất khác nhau thì TOPS khác nhau. Cài driver đồ họa mới từ Intel và cắm sạc khi chạy tác vụ AI kéo dài giúp lõi XMX duy trì xung nhịp ổn định hơn.

Vì sao Xe Matrix Engine chưa chắc kéo FPS trò chơi lên

Khi chơi game, phần lớn khối lượng kết xuất nằm ở tô bóng, lấy mẫu texture và ghi điểm ảnh, vốn là việc của lõi vector, bộ lấy mẫu và khối raster. Lõi XMX không tham gia các bước này, nên trò chơi không dùng kỹ thuật AI nào thì khối ma trận gần như đứng yên. Số liệu Intel cho thấy rõ: TOPS GPU tăng từ 18,8 trên Core Ultra 7 165H lên 67 trên Lunar Lake, khoảng 3,6 lần, nhưng Intel chỉ công bố đồ họa Lunar Lake nhanh khoảng 1,5 lần Meteor Lake khi đo bằng 3DMark Time Spy.

Bước xử lý khi chơi game Khối phần cứng chính XMX có tham gia
Tô bóng đỉnh và điểm ảnh Lõi vector XVE Không
Lấy mẫu texture Bộ lấy mẫu (sampler) Không
Dò tia (ray tracing) Khối dò tia RTU Không
Nâng độ phân giải XeSS trên GPU Arc Mạng nơ-ron XeSS Có, chạy trên lõi XMX
XeSS trên GPU không có XMX Lõi vector, lệnh DP4a Không

Nơi XMX góp phần vào FPS là XeSS. Tài liệu XeSS trình bày tại hội thảo GameDev của Intel cho biết API tự chọn mô hình: mạng nơ-ron tăng tốc bằng XMX trên GPU Arc, mạng dựa trên DP4a trên iGPU Intel không có XMX và GPU NVIDIA, AMD tương thích. Khung hình tăng chủ yếu vì trò chơi kết xuất ở độ phân giải thấp hơn ngưỡng hiển thị, khoảng 540p cho màn 1080p ở iGPU, rồi XeSS phóng lên. XMX giúp bước phóng này tốn ít thời gian hơn và cho phép tận dụng mô hình lớn hơn, chứ không tự tạo thêm khung hình.

Nói ngắn gọn, Xe Matrix Engine phục vụ AI cục bộ và các kỹ thuật dựa trên AI, không phải thông số đại diện cho hiệu năng đồ họa. Khi ưu tiên laptop chơi game bằng iGPU, số Xe-core, xung nhịp GPU, cấu hình RAM kênh đôi và điểm Time Spy đo thực tế phản ánh FPS và trải nghiệm sát hơn TOPS. Với nhu cầu chạy mô hình AI qua OpenVINO hoặc tạo ảnh cục bộ, TOPS GPU và việc chip có Intel XMX mới trở thành tiêu chí ưu tiên.

Câu hỏi thường gặp (FAQ)

XMX và Xe Matrix Engine có phải là một không?

Là một. Tên chính thức trong tài liệu Intel là Xe Matrix Extensions, viết tắt Intel XMX, còn cụm Xe Matrix Engine là cách gọi theo chức năng, chỉ các lõi XMX nằm trong mỗi Xe-core của GPU.

Laptop Core Ultra series 1 (Meteor Lake) có XMX không?

Không. Đồ họa Xe-LPG của Meteor Lake tăng tốc AI bằng lệnh DP4a trên lõi vector, Intel ghi 18,8 TOPS GPU cho Core Ultra 7 165H. XeSS vẫn hỗ trợ các laptop này nhưng dùng mô hình DP4a nhỏ hơn.

Laptop đã có NPU 50 TOPS thì còn cần XMX không?

Tùy tác vụ. NPU hợp tác vụ AI chạy nền lâu với điện năng thấp, còn GPU có Xe Matrix Engine cho thông lượng lớn hơn, như 122 TOPS trên Arc B390, phù hợp tạo ảnh, chạy mô hình ngôn ngữ qua OpenVINO hoặc XeSS. Phần mềm quyết định khối nào được kích hoạt.

XeSS trên GPU có XMX và không có XMX cho hình ảnh giống nhau không?

Không hoàn toàn giống. Theo tài liệu XeSS của Intel, GPU Arc dùng mạng nơ-ron tăng tốc bằng Intel XMX, còn GPU khác dùng mô hình DP4a nhỏ hơn, ít tham số hơn để kịp thời gian xử lý mỗi khung hình. Hai đường cùng tên XeSS nhưng chất lượng và chi phí mỗi khung hình chênh lệch nhau.

← Bài trước

0 phản hồi cho “Xe Matrix Engine là gì - Lõi XMX tăng tốc AI nhưng chưa chắc tăng FPS”

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *