Stiva noastră de GPU atât pentru NVIDIA, cât și pentru AMD, în afară de bucăți minime de firmware semnat, este 100% open source și Python pur, cu excepția compilatorului. Nu folosește drivere, cadre sau biblioteci ale furnizorilor. De aceea este atât de ușor să-l faci să funcționeze pe Mac. Pentru compilatoare, pe AMD, folosim LLVM în amonte, iar pe NVIDIA, folosim compilatorul NAK din proiectul MESA. Plănuim să înlocuim compilatorul cu tinygrad pur într-un an sau doi. Cu fuzionarea RANGEIFY, lucrurile noastre de coborâre se potrivesc acum cu stilul TVM de ultimă generație. Studiem ThunderKittens și TileLang pentru viteză la acest nivel și ar trebui să avem toate aceste lucruri gata în 200 de zile până la data scadentă a contractului nostru de antrenament AMD Llama 405B. Datorită dimensiunii mici a tinygradului și a naturii pure Python, este cea mai ușoară bibliotecă ML pe care să progresezi, adică cea mai rapidă pantă de îmbunătățire. Cu stilul Megakernel pentru programare, stilul MODeL_opt pentru planificare și stilul E-graph pentru simbolic, ar trebui să depășim starea de ultimă generație în viteza PyTorch și JAX. Dacă facem asta, șanțul NVIDIA s-a încheiat. Sunt cel mult 1000 de linii pentru a adăuga un nou accelerator la tinygrad. Și nu vreau să adaug un nou accelerator cu ajutorul unui driver de kernel, compilator și biblioteci. Doar 1000 de linii de software pentru acceleratorul *întreg* care vorbesc chiar pe barele PCIe, cum ar fi ceea ce face tinygrad acum cu GPU-urile NVIDIA și AMD.