Onze GPU-stack voor zowel NVIDIA als AMD, afgezien van minimale stukken ondertekende firmware, is 100% open source en puur Python, behalve voor de compiler. Het maakt geen gebruik van leveranciersdrivers, frameworks of bibliotheken. Daarom is het zo eenvoudig om het op Mac aan de praat te krijgen. Voor compilers gebruiken we op AMD upstream LLVM, en op NVIDIA gebruiken we de NAK-compiler van het MESA-project. We zijn van plan om de compiler over een jaar of twee te vervangen door pure tinygrad. Met RANGEIFY samengevoegd, komt onze verlagingssoftware nu overeen met de state of the art, TVM-stijl. We bestuderen ThunderKittens en TileLang voor snelheid op dat niveau, en zouden al deze dingen binnen 200 dagen klaar moeten hebben voor de deadline van ons AMD Llama 405B-trainingscontract. Vanwege de kleine omvang en de pure Python-natuur van tinygrad, is het de gemakkelijkste ML-bibliotheek om vooruitgang mee te boeken, oftewel de snelste verbetering. Met Megakernel-stijl voor planning, MODeL_opt-stijl voor planning, en E-graph-stijl voor symbolisch, zouden we de state of the art in PyTorch en JAX-snelheid moeten overtreffen. Als we dat doen, is de moat van NVIDIA voorbij. Het zijn maximaal 1000 regels om een nieuwe accelerator aan tinygrad toe te voegen. En ik bedoel niet om een nieuwe accelerator toe te voegen met hulp van een kernel-driver, compiler en bibliotheken. Gewoon 1000 regels software voor de *hele* accelerator die direct op de PCIe BARs spreekt, zoals tinygrad nu doet met de NVIDIA- en AMD-GPU's.
@geerlingguy Of eigenlijk, AMD is zelfs gemakkelijker. Installeer gewoon de `extra/usbgpu/tbgpu` driver en AMD=1
@geerlingguy Of eigenlijk, AMD is zelfs gemakkelijker. Installeer gewoon de `extra/usbgpu/tbgpu` driver en AMD=1. 0 is van plan om Intel op dit niveau te ondersteunen.
54,3K