You are currently viewing GPU unlock cho RTX 4090: nhân đôi throughput tensor FP16 mà không cần driver mod

GPU unlock cho RTX 4090: nhân đôi throughput tensor FP16 mà không cần driver mod

Có một repo đang được anh em làm AI phần cứng truyền tay nhau: JustAResearcher/gpu-unlock-ada. Nó là một kernel module Linux, chèn vào trước khi driver NVIDIA chính thức khởi động, và bật cái gọi là SM speed-select override trên GPU Ada. Nghe hoa mỹ vậy thôi, chứ vấn đề nó giải quyết rất cụ thể: nhiều card RTX đời Ada bị firmware khóa ở nửa tốc độ tensor FP16/BF16 với FP32 accumulate. Module này mở khóa trước khi driver bind, rồi để driver stock chạy tiếp như bình thường.

Nó làm gì, và làm được đến đâu

Trên RTX 4090 (`10de:2684`, AD102), tác giả báo cáo throughput FP16 sang FP32 accumulate từ 165.6 TF/s lên 331.6 TF/s. BF16 từ 165.5 lên 330.6 TF/s. Đúng xấp xỉ gấp đôi. Một owner khác tự chạy lại revision `8855e7b` trên Arch Linux kernel `7.2.11-arch1-1`, driver 615.78.08, cùng cap 450 W, ra 160.4 lên 320.4 TF/s cho FP16/FP32 và 159.7 lên 320.2 cho BF16/FP32. Toàn bộ numerical check đều pass.

Nhưng đừng vội mừng. Cũng trong báo cáo đó: cuBLAS GEMM thực tế chỉ tăng 12 đến 34% với FP16, BF16 tăng 16 đến 20% ở hai shape và gần như không đổi ở 4096³. Đây là chỗ nhiều bài PR hay lờ đi. Con số 2x là instruction issue rate nằm trong register, không phải tốc độ app thật. Tác giả cũng ghi rõ đó là “one matched run pair with the desktop active, not whole-application speedups or an extended stability test”.

Với RTX 4070 Ti SUPER (`10de:2705`, AD103), một cold test với driver 580.178.04 dưới cap 240 W cho FP16/FP32 từ 95.0 lên 189.9 TF/s, BF16 từ 95.0 lên 189.7 TF/s. INT8 đứng yên ở 379.5 TOP/s. TF32/FP32 từ 47.49 lên 94.51. Còn FP8 thì sao? Một phép đo CUTLASS E4M3 FP8/FP32 cho 59.326 lên 59.495 TF/s, chênh 0.3%, tức là gần như không có gì. Tác giả thành thật ghi “this single GEMM did not show a meaningful FP8 gain; other FP8 kernels remain untested”. Điểm cộng cho sự trung thực.

Vì sao repo này đang hot

719 sao sau khoảng một ngày tạo (2026-10-23, cập nhật 2026-10-24). Con số đó nói lên nhu cầu: dân chạy local LLM và fine-tune nhỏ đang đói compute FP16/BF16, mà RTX 4090 thì ai cũng có sẵn. Việc nhân đôi tensor throughput mà không phải patch driver, không cần UEFI app, không đụng firmware binary phân phối kèm, là điểm khác biệt lớn.

Repo này cũng không phải phát minh từ số 0. Payload AD102 và phân tích debug-booter lấy từ TOTORONG/AD103_win_unlocker. Phần Linux module, sinh firmware và đóng gói boot thì fork từ Zagitta/gpu-unlock. Tác giả ghi rõ credit, giữ nguyên license upstream. Firmware được sinh cục bộ trên máy bạn, không có binary đóng gói sẵn, đó là lý do nó né được vài rắc rối pháp lý và phân phối.

Cài thử

Yêu cầu: Linux, driver NVIDIA stock (báo cáo dùng 615.78.08, 580.178.04, 595.99.02 tùy card), và bạn phải build tại máy. Lệnh y nguyên từ README:

git clone https://github.com/JustAResearcher/gpu-unlock-ada.git
cd gpu-unlock-ada
make install

`make install` tự detect distro family, tải firmware NVIDIA pinned và sinh firmware trên máy bạn. Với RTX 4090 thì module tự chọn AD102 payload, không cần flag gì. Các target khác thì phải opt-in rõ ràng:

  • RTX 4090 D (`10de:2685`): cần `gpu_unlock.rtx4090d_experimental=1`
  • RTX 4070 Ti SUPER (`10de:2705`): cần cả `gpu_unlock.ad103_experimental=1` và `gpu_unlock.targets=` trỏ đúng một địa chỉ PCI của card. `targets=all` không bao giờ chọn card này.
  • RTX 4060 Ti 16GB (`10de:2805`): cần cả `gpu_unlock.ad106_experimental=1` và một địa chỉ PCI cụ thể.

Các Ada ID khác, dòng RTX A professional, card data-center đều không được accept. Tác giả nói thẳng: firmware dùng chung giữa các chip Ada không có nghĩa là card chưa test sẽ chạy.

Ai nên dùng, ai không

Nếu bạn có RTX 4090 chạy inference FP16/BF16 local, hoặc fine-tune LoRA nhỏ, và chấp nhận ngồi canh log lần boot đầu, repo này đáng thử. Cái được là ~2x instruction throughput, thực tế rơi vào 12 đến 34% ở GEMM. Với một job chạy vài giờ, 20% vẫn là tiền điện và thời gian.

Với RTX 4070 Ti SUPER hay 4060 Ti 16GB, hãy đọc kỹ chữ “experimental validated on one card”. 4070 Ti SUPER mới qua hai cold boot và vài warm reboot, đo throughput ở cold boot đầu. 4060 Ti 16GB mới pass gate, driver load, RM getter báo full rate, nhưng tác giả ghi rõ “no same-card stock throughput run has been made yet”. Tức là chưa có phép đo throughput stock cùng card để so. Đừng mua card dựa trên repo này.

Còn nếu bạn chạy Windows, phần đóng góp từ Latence.app ghi nhận một lần boot tay thành công trên MSI RTX 4070 Ti AD104 với driver 616.56, cuBLAS FP16/FP32 tăng 80.1%, BF16 tăng 76.4%. Nhưng nó gắn với đúng một profile MSI Z490, không mở AD104 cho Linux module, và không phân phối firmware/binary/installer tự động. Đọc cho biết thì được, triển khai production thì không.

Ưu và nhược

Ưu điểm rõ: không patch driver NVIDIA, không cần UEFI app, firmware sinh tại máy, có credit upstream đầy đủ, license GPL-2.0. Tác giả cũng công bố cả số liệu phản biện (FP8 gần như không tăng, GEMM không đạt 2x, chưa test stability dài). Cái này hiếm.

Nhược điểm cũng rõ không kém. Đây là kernel module chèn trước driver, sai một bước là mất boot, phải vào được console để gỡ. Tài liệu chia thành nhiều file (technical report, original evidence, matched evidence and limits, canary report) chứ chưa gom thành một hướng dẫn duy nhất cho người mới. Trạng thái “validated on one card” áp cho hai trong ba target chính. Chưa có extended stability test công bố. Và dù firmware sinh cục bộ, việc override speed-select vẫn là vùng xám với chính sách bảo hành của NVIDIA, tự cân nhắc.

Nếu bạn đang tìm lựa chọn tương tự: họ hàng gần nhất là Zagitta/gpu-unlock (upstream của phần Linux module) và TOTORONG/AD103_win_unlocker (nguồn payload AD102). Repo này là bản ghép hai thứ đó lại cho Ada, cộng thêm port AD103/AD106 thử nghiệm. Không có bản nào khác mình biết chắc làm được điều tương tự cho RTX 4090 trên Linux ở thời điểm này.

Một con số để kết: 165.6 lên 331.6 TF/s ở cấp instruction là thật, nhưng 12 đến 34% ở GEMM mới là thứ bạn cảm nhận được trong công việc hàng ngày. Đọc README, đọc mục limits, rồi mới quyết định có đáng bỏ một buổi tối để thử trên con 4090 của bạn hay không.

Repo: JustAResearcher/gpu-unlock-ada

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

gpu-unlock-ada có tăng tốc thật gấp đôi khi chạy LLM không?

Không hoàn toàn. Con số gấp đôi (ví dụ RTX 4090 từ 165.6 lên 331.6 TF/s FP16/FP32) là instruction issue rate trong register. Khi chạy cuBLAS GEMM thực tế, mức tăng chỉ 12 đến 34% với FP16 và 16 đến 20% với BF16 ở hai shape, gần như không đổi ở 4096³.

gpu-unlock-ada hỗ trợ những card nào?

Ba target chính: RTX 4090 (`10de:2684`, tự chọn AD102 payload không cần flag), RTX 4090 D (`10de:2685`, cần `gpu_unlock.rtx4090d_experimental=1`), RTX 4070 Ti SUPER (`10de:2705`, cần `gpu_unlock.ad103_experimental=1` và địa chỉ PCI cụ thể), và RTX 4060 Ti 16GB (`10de:2805`, cần `gpu_unlock.ad106_experimental=1` cùng địa chỉ PCI). Các Ada ID khác, dòng RTX A professional và card data-center đều không được accept.

Cài gpu-unlock-ada có rủi ro mất boot không?

Có. Đây là kernel module chèn trước driver NVIDIA, sai một bước là mất boot và phải vào được console để gỡ. Ngoài ra repo chưa có extended stability test công bố, trạng thái “validated on one card” áp cho hai trong ba target chính, và việc override speed-select vẫn là vùng xám với chính sách bảo hành của NVIDIA.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 25/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.