You are currently viewing gpu-unlock: mở khóa tốc độ FP/BF16 cho RTX 3000 lên ngang card chuyên nghiệp

gpu-unlock: mở khóa tốc độ FP/BF16 cho RTX 3000 lên ngang card chuyên nghiệp

Có một chuyện khá quen tai: card GeForce RTX 3000 dùng chung nhân GA102, GA103, GA104, GA106 với dòng card chuyên nghiệp, nhưng bị giới hạn tốc độ phát lệnh FP/BF16 FMA. Một repo tên Zagitta/gpu-unlock vừa xuất hiện, viết bằng C, làm đúng một việc: gỡ giới hạn đó trước khi driver NVIDIA kịp bind card.

Nó làm gì, gỡ được cái gì

Cụ thể hơn, đây là một Linux kernel module. Nó kết hợp kỹ thuật V67/PLM của CMP unlocker với kiểu timing trước-driver của hướng UEFI. Module ghi các speed selector (SS0 nhận giá trị 0x88888888, chọn mức BF16 đầy đủ, và SS1 4-bit nhận 0x8 cho IMLA4), rồi thực hiện FLR trước khi driver NVIDIA không bị patch bind vào card.

Điểm đáng giá nằm ở chỗ nó chạy trong initramfs, tức trước cả nvidia. Nhờ vậy mỗi lần NVIDIA ra driver mới, bạn không phải ngồi patch lại driver. Đây là lý do tôi thấy cách tiếp cận này hợp lý hơn mấy bản patch driver mà tôi từng thử.

Kết quả đo trên con 3090 Ti, GEMM dense 8192³ ở mức 450 W, lấy median của năm mẫu, tích lũy FP32:

  • FP16: 87.46 TFLOPS trước, 118.39 TFLOPS sau
  • BF16: 87.50 TFLOPS trước, 157.41 TFLOPS sau
  • TF32: 42.58 TFLOPS trước, 82.61 TFLOPS sau

BF16 gần như gấp đôi, TF32 cũng gần gấp đôi. FP16 tăng ít hơn nhưng vẫn đáng kể. Tác giả ghi rõ hiệu ứng là nhân đôi tốc độ phát lệnh FP/BF16 FMA sang phép toán FP32 trên GA102, GA103, GA104 và GA106.

Vì sao nó đang được chú ý

Repo mới tạo ngày 18/10/2026, cập nhật 24/10, mà đã có 685 sao. Sáu ngày. Con số đó nói lên nhu cầu có thật: ai chạy inference, fine-tune, hay mấy bài GEMM trên card consumer đều biết phần cứng thừa năng lực nhưng bị khóa bằng firmware.

Cái khác biệt so với các cách unlock cũ: không phải UEFI application, không phải bản driver NVIDIA đã patch. Một kernel module nhỏ, cài một lần, sống qua các lần update driver. Với người dùng Linux hay phải lên driver mới để chạy CUDA mới, đây là điểm cộng lớn.

Tôi vẫn hơi nghi ngờ về tuyên bố “tương đương card chuyên nghiệp” trong mô tả gốc. Con số 157.41 TFLOPS BF16 trên 3090 Ti là ấn tượng, nhưng “tương đương” ở đây chắc chỉ xét tốc độ phát lệnh, chứ bộ nhớ, ECC, và mấy thứ khác vẫn là card consumer.

Cài và dùng thử

README khá gọn. Build và cài trong một bước:

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

Rồi thêm gpu_unlock.targets=all vào kernel command line, giữ nguyên các option đang có. Với GRUB trên Debian/Ubuntu/Mint thì sửa trong GRUB_CMDLINE_LINUX_DEFAULT ở /etc/default/grub, xong chạy:

sudo update-grub

Trên Arch/CachyOS cũng sửa như vậy, rồi:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Fedora/RHEL thì dùng grubby:

sudo grubby --update-kernel=ALL --args="gpu_unlock.targets=all"

systemd-boot thì thêm vào dòng options trong boot entry. UKI hoặc entry sinh tự động thì thêm vào /etc/kernel/cmdline rồi regenerate, ví dụ sudo mkinitcpio -P với mkinitcpio UKI.

Nếu muốn chọn đúng card thay vì tất cả, truyền địa chỉ PCI đầy đủ như lspci -D in ra:

gpu_unlock.targets=0000:21:00.0
gpu_unlock.targets=0000:21:00.0,0000:22:00.0

Có thể build riêng theo distro nếu make install không detect đúng:

make install-arch
make install-deb
make install-rpm

Module chỉ làm việc khi kernel command line opt-in. Không có flag thì nó không đụng gì. Card không phải GA102/GA103/GA104/GA106 sẽ bị log rồi bỏ qua, kể cả khi bạn trộn all với địa chỉ cụ thể.

Ai nên dùng, dùng khi nào

Rõ nhất là người chạy workload BF16 hoặc TF32 trên RTX 3090, 3090 Ti, 3080, 3070, 3060 (đám GA102 đến GA106). Fine-tune model, chạy inference, mấy bài GEMM nặng. Nếu bạn đang cân nhắc mua card chuyên nghiệp chỉ vì tốc độ BF16, thử cái này trước đã.

Cũng hợp với ai hay lên driver NVIDIA mới và chán cảnh patch lại. Cài một lần, module nằm trong initramfs, update kernel thì hook của kernel tự build lại module và image.

Không hợp với ai chạy Windows, đương nhiên. Cũng không hợp với ai cần downtime bằng không: card hiển thị sẽ bị blank màn hình từ lúc reset đến khi nvidia-drm tiếp quản. Ngắn thôi, nhưng có.

Một chi tiết hay: suspend to RAM tắt điện card, reset speed selector. Sau resume module unlock lại mọi card nó đã unlock lúc boot, chạy trước notifier mà nvidia dùng để resume card. Tức là bạn không phải lo sleep xong mất unlock.

Ưu và nhược

Ưu điểm thực tế:

  • Không patch driver, sống qua các bản update NVIDIA
  • Chạy trước khi nvidia bind, không cần can thiệp thủ công
  • Hỗ trợ chọn card theo địa chỉ PCI, unlock song song, khoảng một giây bất kể bao nhiêu card
  • Package sẵn cho Arch, Debian/Ubuntu, Fedora/RHEL; build có kiểm tra SHA-256 cho input tải về
  • Card đã bind hoặc đã tắt điện thì bị skip, không phá gì

Hạn chế và mấy thứ cần cân nhắc:

  • License: dữ liệu repo ghi “không rõ”. Với một module đụng vào firmware card, đây là điểm mù thật sự, nhất là nếu bạn định dùng trong môi trường công ty
  • Chỉ Linux. README không nhắc gì đến Windows
  • Repo mới vài ngày, độ trưởng thành chưa kiểm chứng được. 685 sao trong sáu ngày là tín hiệu tốt nhưng không thay được thời gian
  • Phải sửa kernel command line. Ai không quen GRUB hay systemd-boot sẽ mất chút thời gian
  • Tài liệu chỉ có README, khá chi tiết nhưng không có troubleshooting hay FAQ
  • Không có topics, không có release, không rõ maintainer là ai ngoài tên Zagitta
  • Việc unlock phần cứng kiểu này luôn có rủi ro riêng, nhất là khi firmware card và driver không được test cùng nhau trên mọi tổ hợp

Về so sánh với lựa chọn tương tự: tôi biết có hướng patch driver NVIDIA và hướng UEFI application cho việc unlock tương tự, chính README cũng nhắc. Nhưng tôi không nắm đủ số đo cụ thể của từng hướng để so sánh công bằng, nên bỏ qua phần này.

Kết

Nếu bạn có con RTX 3000 và đang chạy BF16 hay TF32, con số 87.50 lên 157.41 TFLOPS là lý do đủ để bỏ 15 phút thử. Còn nếu bạn cần license rõ ràng cho môi trường production, đọc kỹ repo trước đã, vì phần đó đang để trống. Repo đây: Zagitta/gpu-unlock.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 24/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.