Kepler feltámasztása: modern LLM-ek futtatása GTX 770-en (7.x kernel)

Bevezetés⚠️ Kísérleti hack: Csak nem kritikus rendszereken próbáld. Készíts biztonsági mentést. A megoldás egy zárt...

Hirdetés

Bevezetés

⚠️ Kísérleti hack: Csak nem kritikus rendszereken próbáld. Készíts biztonsági mentést. A megoldás egy zárt forrású binárist módosít utasításszinten — garancia és támogatás nincs.

A történet: az elavulás ellen
A Kepler GPU-k (2012–2014) az NVIDIA szerint már rég selejtnek számítanak, pedig inferenciára továbbra is jól használható hardverek. A GTX 770 1536 CUDA magot és 2 GB GDDR5 memóriát kínál — kisebb és közepes LLM-ekhez ez bőven elég. A projekt azt mutatja meg, hogy öt byte módosítással és néhány kernel backporttal ezek a kártyák még ma is használhatók modern Linuxon: kevesebb e-hulladék, közben pedig remek rendszerfejlesztési lecke.

Mi volt a cél?
Egy NVIDIA GeForce GTX 770 (GK104, sm_30) — vagyis egy Kepler-kártya, amelyhez az NVIDIA a 470.256.02-es driver és a CUDA 10.2 után már nem ad támogatást — CUDA feladatok futtatása modern Linux kernelen (6.15 → 7.x, Ubuntu 26.04).
Gyári állapotban két akadály állt útjában:
1. A kernelmodul nem fordul le — a 470.256.02-es driver forráskódja ≥6.15-ös kerneleken már nem épül fel, mert a kernel rengeteg API-t eltávolított vagy átnevezett.
2. A cuInit 802-es hibát dob — hiába töltődik be a modul és fut az nvidia-smi, minden CUDA-program CUDA_ERROR_SYSTEM_NOT_YET_INITIALIZED hibával leáll.

A cikk még nem ért véget, kérlek, lapozz!