Sebuah proyek open-source bernama gpu-unlock merilis versi 1.0.0 yang memungkinkan pengguna kartu grafis seri Nvidia GeForce RTX 3000 (arsitektur Ampere) membuka potensi komputasi floating-point setengah presisi (FP16 dan Bfloat16) ke kecepatan penuh setara lini workstation enterprise. Modul kernel Linux ini mengatasi pembatasan artifisial yang selama ini diterapkan pabrikan pada chip konsumen, mendongkrak throughput komputasi perkalian matriks (GEMM) hingga 80 persen pada beban kerja inferensi model bahasa dan kecerdasan buatan.

Selama bertahun-tahun, kartu grafis berbasis arsitektur Ampere seperti GeForce RTX 3060 hingga RTX 3090 Ti mengalami pembatasan laju eksekusi instruksi (*instruction issue rate*) untuk operasi fused multiply-add (FMA) FP16 dan BF16 dengan akumulasi FP32. Nvidia secara sengaja mengunci kecepatan eksekusi instruksi tersebut pada separuh laju perangkat keras aslinya (*half-rate*). Strategi segmentasi pasar ini membedakan kartu komersial dari seri profesional berharga tinggi seperti RTX A6000 atau A100, meskipun keduanya berbagi fondasi silikon yang mampu mengeksekusi instruksi pada laju penuh.

Upaya komunitas untuk membongkar batasan tersebut sebelumnya menuntut modifikasi biner pada driver resmi berpemilik (*proprietary driver*) Nvidia atau penyesuaian firmware tingkat UEFI yang rentan gagal dan merepotkan. Setiap kali Nvidia merilis pembaruan driver grafis, tambalan biner lama langsung rusak dan harus direkayasa ulang. Proyek gpu-unlock yang dikembangkan oleh periset independen dengan nama samaran Zagitta menghadirkan pendekatan berbeda: modul kernel Linux murni (*out-of-tree kmod*) yang dieksekusi sangat awal pada fase initramfs sebelum driver resmi Nvidia sempat mengikat perangkat GPU.

Inti keberhasilan proyek ini berakar dari kelemahan berantai pada rantai boot aman (*secure boot*) prosesor pengaman Security Engine 2 (SEC2) di GPU Ampere. Dalam alur inisialisasi normal, mikrokontroler SEC2 menjalankan kode booter via Direct Memory Access (DMA) untuk mendekripsi dan memverifikasi modul manajemen sumber daya GPU System Processor (GSP-RM). Riset keamanan menemukan bahwa Nvidia sempat memublikasikan citra firmware booter versi pengujian (*debug*) yang dienkripsi menggunakan kunci publik uji coba (indeks kunci 37). Dekripsi terhadap firmware pengujian tersebut membongkar keberadaan kerentanan *stack-based buffer overflow* klasik di dalam kode booter.

Celah kelebihan kapasitas penyangga tersebut dieksploitasi menggunakan teknik Return-Oriented Programming (ROP) melalui muatan yang dikenal sebagai payload v67. Di dalam arsitektur Ampere, laju eksekusi instruksi ditentukan oleh register FEAT_OVR_SM_SPD (SS0 di alamat 0x0082381c) dan FEAT_OVR_SM_SPD_1 (SS1 di alamat 0x00823820). Namun, penulisan ke dua register ini dilindungi oleh Privilege Level Mask (FEAT_OVR_PLM di 0x00823804) bernilai awal 0xffffff8f, yang membatasi hak tulis hanya untuk tingkat hak istimewa L3 atau mode *heavy-secure*. ROP payload pada SEC2 menyuntikkan instruksi pengalihan untuk menuliskan nilai 0xFFFFFFFF langsung ke register FEAT_OVR_PLM, sehingga hak tulis terbuka bagi lapisan kernel sistem operasi.

Setelah hak akses register terbuka di awal proses boot, modul gpu-unlock menuliskan konfigurasi pemilih laju kecepatan penuh—yaitu nilai 0x88888888 pada register SS0 untuk mengaktifkan laju BF16 penuh serta nilai 0x8 pada SS1 untuk operasi integer matriks IMLA4. Segera setelah nilai dituliskan, modul memicu Function Level Reset (FLR) pada jalur bus PCIe dan langsung melepas kendali. Ketika driver resmi nvidia.ko dimuat beberapa milidetik kemudian, driver mendapati perangkat keras sudah berjalan pada mode tidak terkunci dan mengikat GPU secara normal tanpa menyadari adanya intervensi pihak ketiga.

Dampak performa dari pembukaan kunci instruksi ini tercermin nyata dalam berbagai pengujian tolak ukur komputasi. Pada kartu GeForce RTX 3090 Ti yang menjalankan operasi perkalian matriks padat (dense GEMM 8192³) dengan batas daya 450 watt, throughput komputasi BF16 melonjak dari 87,50 TFLOPS menjadi 157,41 TFLOPS—sebuah kenaikan sebesar 80 persen. Throughput operasi FP16 turut meningkat dari 87,46 TFLOPS menjadi 118,39 TFLOPS, sementara format TensorFloat-32 (TF32) naik dari 42,58 TFLOPS ke 82,61 TFLOPS.

Pengujian pada kartu kelas menengah juga menunjukkan lonjakan signifikan: RTX 3080 mencatat peningkatan throughput BF16 antara 70 hingga 73 persen, RTX 3070 berada di kisaran 73 hingga 81 persen, dan RTX 3060 12GB mencatat kenaikan rata-rata 80 persen. Pada aplikasi praktis beban kerja AI lokal, peningkatan ini memberikan akselerasi terukur pada fase pemrosesan masukan konteks (*prefill phase*) model bahasa besar (LLM) sebesar 14 hingga 36 persen, penurunan latensi pada lapisan FlashAttention, serta akselerasi inferensi model difusi gambar. Tahap dekode token per token tidak mengalami perubahan laju karena tahap tersebut sepenuhnya dibatasi oleh lebar pita memori VRAM (*memory bandwidth bound*), bukan kecepatan unit komputasi tensor. Verifikasi keluaran numerik juga mengonfirmasi hasil kalkulasi tetap identik bit-demi-bit (*bit-identical*) sebelum dan sesudah modul dijalankan.

Modul gpu-unlock saat ini mendukung keluarga chip GA102, GA103, GA104, dan GA106 pada distribusi Linux modern seperti Debian, Ubuntu, Arch Linux, dan Fedora melalui integrasi dracut, mkinitcpio, maupun initramfs-tools. Modul ini juga telah menangani skenario suspensi daya (*suspend-to-RAM*) dengan mendaftarkan penangan notifikasi kernel untuk mengunci ulang parameter kecepatan sesaat sebelum driver resmi melanjutkan status kartu saat sistem terbangun. Walau demikian, pengguna tetap disarankan memperhatikan batas termal dan catu daya, mengingat pelipatgandaan laju instruksi membuat GPU beroperasi lebih dekat ke batas konsumsi daya maksimum silikonnya.

--- *Sumber:* - [Zagitta / gpu-unlock Repository di GitHub](https://github.com/Zagitta/gpu-unlock) - [Dokumentasi Teknis: How Nvidia Ampere generation GPUs got unlocked](https://github.com/Zagitta/gpu-unlock/blob/main/docs/How%20Ampere%20was%20unlocked.md) - [Consensus-Protocol cmp170hx Documentation](https://github.com/Consensus-Protocol/cmp170hx)