Modul open source buka batas BF16 di RTX 30, daya hitung naik hampir 80%

Open source illustration: hands joining branches to a shared node tree

gpu-unlock, proyek open source yang dirilis pengembang Zagitta di GitHub, mengumpulkan sekitar 8.100 bintang dan lebih dari 850 fork dalam waktu sekitar seminggu. Yang dilakukannya sangat spesifik: mencabut batas kecepatan pada instruksi Tensor Core FP16/BF16 di kartu grafis GeForce seri RTX 30, tanpa mem-flash VBIOS dan tanpa mengubah driver Nvidia.

Kartu Ampere versi GeForce hanya menjalankan instruksi perkalian matriks dengan input setengah presisi dan akumulasi FP32 pada setengah kecepatan. Tujuan gpu-unlock adalah menggandakan laju penerbitan instruksi tersebut, mencakup empat inti: GA102, GA103, GA104, dan GA106.

Cara kerjanya

gpu-unlock adalah modul kernel Linux. Penulisnya menggambarkannya sebagai gabungan teknik V67/PLM dari alat pembuka kunci kartu penambang CMP dengan waktu eksekusi pendekatan UEFI sebelumnya, yaitu bertindak sebelum driver dimuat. Modul menuntaskan pembukaan kunci sebelum driver Nvidia mengambil alih kartu grafis, menulis pemilih kecepatan, lalu melakukan reset tingkat fungsi (FLR).

Keuntungannya, biaya pemeliharaan rendah. Modul ini bukan program UEFI dan bukan driver yang ditambal, sehingga pengguna tidak perlu menerapkan ulang patch setiap kali Nvidia merilis driver baru.

Kondisi uji RTX 3090 Ti dari penulis adalah GEMM padat 8192³, daya 450 W, akumulasi FP32, dengan median dari lima sampel:

Presisi inputSebelum dibukaSesudah dibuka
FP1687,46 TFLOPS118,39 TFLOPS
BF1687,50 TFLOPS157,41 TFLOPS
TF3242,58 TFLOPS82,61 TFLOPS

Kenaikan BF16 yang dilaporkan pengguna berbeda-beda tiap kartu: RTX 3070 sebesar 73% hingga 81%, 3080 10GB sebesar 70% hingga 73%, 3060 12GB sekitar 80%, dan 3090 antara 25% hingga 67%, dengan angka terendah berasal dari kartu yang batas dayanya 225 W. Angka-angka ini berasal dari benchmark masing-masing pelapor, sehingga tidak bisa dibandingkan secara langsung.

Dampaknya pada beban kerja nyata

Tahap yang padat operasi matriks menjadi jauh lebih cepat. Fase prefill pada inferensi model bahasa besar dilaporkan meningkat 14% hingga 36%, dan model difusi serta FlashAttention juga bisa memetik manfaat. Pembangkitan token demi token dibatasi bandwidth memori, sedangkan beban kerja INT8 melewati jalur lain, sehingga keduanya pada dasarnya tidak berubah. Pengguna yang membandingkan keluaran melaporkan bahwa hasil komputasi sebelum dan sesudah pembukaan kunci identik bit demi bit.

Jadi klaim "daya hitung naik delapan puluh persen" terutama merupakan puncak teoretis. Saat menjalankan obrolan model bahasa besar secara lokal, yang paling terasa adalah pembacaan prompt panjang yang lebih cepat, sementara kecepatan keluaran teks tidak banyak berubah. Soal apakah frame rate gim terpengaruh, saat ini belum ada pengujian independen.

Bagi pemburu kartu bekas di Tiongkok

Di komunitas deployment lokal Tiongkok, 3090 bekas dan 3080 20GB hasil modifikasi memori sudah lama menjadi pilihan yang hemat biaya. Tabel kompatibilitas proyek ini memuat satu baris "RTX 3080 20 GB (modifikasi memori)" dengan kenaikan yang dilaporkan 56% hingga 59%, menandakan kartu hasil modifikasi pun bisa menikmati pembukaan kunci ini.

Hambatannya ada di sistem operasi. Modul saat ini hanya mendukung Linux, dengan paket instalasi untuk keluarga Arch, Debian/Ubuntu, dan Fedora, dan harus diaktifkan secara eksplisit lewat parameter boot kernel; memuatnya secara manual setelah boot tidak berfungsi. Pengguna Windows hanya bisa melihat port UEFI buatan komunitas, misalnya 3070 Ti sejauh ini baru terverifikasi lewat jalur itu.

Penulis juga mencantumkan cukup banyak keterbatasan:

  • Setelah suspend ke RAM, kartu dibuka kuncinya lagi dan memerlukan tambahan sekitar 1 detik; hibernasi tidak didukung.
  • Kartu yang tersambung ke monitor akan layarnya gelap sesaat saat reset pembukaan kunci.
  • Pada sebagian kartu yang firmware-nya tidak bisa dihentikan, daya harus dimatikan lebih dulu sebelum mencoba lagi.
  • RTX 3080 Ti versi OEM masih berjalan setengah kecepatan pada BF16 setelah dibuka kuncinya, dan belum ada laporan untuk GA103.

Proyek ini open source dengan lisensi GPL-2.0. Apakah mengubah batas kecepatan bawaan pabrik memengaruhi garansi tidak dibahas dalam README, dan Nvidia sejauh ini belum memberi tanggapan terbuka, sehingga pengguna yang ingin mencobanya di mesin utama perlu menimbang sendiri risikonya.

Sumber: README proyek gpu-unlock, GameApps.hk, CocoLoop; jumlah bintang dan fork dicocokkan dengan data repositori GitHub, sedangkan angka TFLOPS dan rentang kenaikan tiap model dicocokkan dengan tabel benchmark di README.