FPGA đạt hiệu suất tiết kiệm gấp 50 lần so với CPU x86
FPGA Demo: Hiệu năng/điện năng vượt xa CPU x86 trong thử nghiệm thực tế
Một bài báo nghiên cứu mới đây đã chứng minh rằng FPGA (Field-Programmable Gate Array) có thể đạt hiệu quả tính toán gấp ~50 lần so với CPU x86 trong một ứng dụng game ray-tracing đơn giản — khi xét hiệu năng trên mỗi watt điện năng tiêu thụ.
Thử nghiệm & kết quả nổi bật
FPGA dùng trong thử nghiệm là Arty A7 (Xilinx Artix-7 100T) — một board phát triển chứa khoảng 101.440 logic cell, dùng quy trình 28 nm, và tiêu thụ điện năng dưới 1 watt khi chạy.
CPU bị so sánh là Ryzen 7 4800H — chip 8 nhân / 16 luồng, TDP 45 W, sử dụng kiến trúc 7 nm.
Game được dùng trong thử nghiệm là Sphery vs Shapes, một demo ray-tracing tương đối đơn giản, ở độ phân giải 1080p và 60 khung hình/giây.
Kết quả cho thấy FPGA hoàn thành tác vụ với 0,66 W điện năng, trong khi CPU cần 35 W — tức hiệu năng năng lượng (performance per watt) của FPGA cao hơn khoảng 53 lần so với CPU.
Nếu giả sử FPGA được chế tạo với tiến trình hiện đại như 7 nm (như CPU), lợi thế này có thể tăng thêm nhiều lần nữa.
Cách họ làm được điều này
Nhóm tác giả sử dụng một pipeline tên là Pipeline C và công cụ CFlexHDL để chuyển mã C trực tiếp thành cấu hình phần cứng trên FPGA — họ vẫn giữ được cú pháp ngôn ngữ giống nhau giữa phiên bản chạy trên máy tính và phiên bản chạy phần cứng.
Kiến trúc phần cứng cho phép tận dụng tối đa tính song song, loại bỏ chi phí giải mã lệnh, nhánh, overhead của CPU general purpose.
Nhờ thiết kế dành riêng cho tác vụ, FPGA có thể làm việc ở xung thấp nhưng hiệu quả cao, tiêu thụ rất ít năng lượng so với CPU đa dụng.
Hạn chế & điều cần xem xét
Demo sử dụng ứng dụng đơn giản và kiểm thử ray-tracing nhẹ — chưa chắc hiệu năng vượt trội sẽ giữ được ở các ứng dụng phức tạp như game AAA, AI, hoặc xử lý đa nhiệm lớn.
FPGA Arty A7 dùng tiến trình 28 nm — nếu so với CPU 7 nm, khoảng cách công nghệ ảnh hưởng lớn tới hiệu năng/điện năng.
Việc chuyển mã phức tạp sang FPGA không dễ với mọi loại ứng dụng — đòi hỏi công cụ hỗ trợ và thiết kế phần cứng phù hợp.
Một số chi tiết về độ trễ, khả năng cập nhật mã, bảo trì phần cứng, tính linh hoạt khi thay đổi thuật toán vẫn là thách thức so với nền tảng CPU — nơi bạn chỉ cần cập nhật phần mềm.