Náš GPU stack pro NVIDIA i AMD, kromě minimálních kusů podepsaného firmwaru, je 100% open source a čistý Python s výjimkou kompilátoru. Nepoužívá ovladače dodavatelů, rámce ani knihovny. Proto je tak snadné, aby to fungovalo na Macu. Pro kompilátory používáme na AMD upstream LLVM a na NVIDIA používáme kompilátor NAK z projektu MESA. Plánujeme nahradit kompilátor čistým tinygradem také za rok nebo dva. Po sloučení RANGEIFY nyní naše snižovací věci odpovídají nejmodernějšímu stylu TVM. Studujeme ThunderKittens a TileLang pro rychlost na této úrovni a měli bychom mít všechny tyto věci hotové do 200 dnů do data splatnosti naší tréninkové smlouvy AMD Llama 405B. Vzhledem k malé velikosti tinygradu a čisté povaze Pythonu je to nejjednodušší ML knihovna, na které lze pokročit, neboli nejrychlejší sklon ke zlepšení. Se stylem Megakernel pro plánování, stylem MODeL_opt pro plánování a stylem E-graph pro symbolické bychom měli překonat nejmodernější technologie v rychlosti PyTorch a JAX. Pokud to uděláme, příkop společnosti NVIDIA je u konce. Je to maximálně 1000 řádků pro přidání nového akcelerátoru do tinygradu. A nemám v úmyslu přidávat nový akcelerátor s pomocí ovladače jádra, kompilátoru a knihoven. Jen 1000 řádků softwaru pro *celý* akcelerátor mluvící přímo na PCIe BARech, jako to, co nyní dělá tinygrad s GPU NVIDIA a AMD.
@geerlingguy Nebo vlastně, AMD je ještě jednodušší. Stačí nainstalovat ovladač 'extra/usbgpu/tbgpu' a AMD=1
@geerlingguy Nebo vlastně, AMD je ještě jednodušší. Stačí nainstalovat ovladač 'extra/usbgpu/tbgpu' a AMD=1. 0 plánuje podporovat Intel na této úrovni.
57,75K