Vår GPU-stack för både NVIDIA och AMD, förutom minimala bitar av signerad firmware, är 100 % öppen källkod och ren Python förutom kompilatorn. Den använder inte leverantörsdrivrutiner, ramverk eller bibliotek. Det är därför det är så enkelt att få det att fungera på Mac. För kompilatorer använder vi uppströms LLVM på AMD och på NVIDIA använder vi NAK-kompilatorn från MESA-projektet. Vi planerar att byta ut kompilatorn mot ren tinygrad om ett år eller två också. Med RANGEIFY sammanslagen matchar våra sänkningsgrejer nu den senaste TVM-stilen. Vi studerar ThunderKittens och TileLang för hastighet på den nivån, och bör ha allt det här klart om 200 dagar till förfallodatumet för vårt AMD Llama 405B-träningskontrakt. På grund av tinygrads lilla storlek och rena Python-natur är det det enklaste ML-biblioteket att göra framsteg på, aka snabbaste förbättringsbacken. Med Megakernel-stil för schemaläggning, MODeL_opt stil för planering och E-grafstil för symbolisk, bör vi blåsa förbi den senaste tekniken i PyTorch- och JAX-hastighet. Om vi gör det är NVIDIA:s vallgrav över. Det är som mest 1000 rader för att lägga till en ny accelerator i tinygrad. Och jag menar inte att lägga till en ny accelerator med hjälp av en kärndrivrutin, kompilator och bibliotek. Bara 1000 rader programvara för *hela* acceleratorn talar direkt på PCIe BARs, som vad tinygrad gör med NVIDIA och AMD GPU:er nu.
@geerlingguy Eller faktiskt, AMD är ännu enklare. Installera bara drivrutinen 'extra/usbgpu/tbgpu' och AMD=1
@geerlingguy Eller faktiskt, AMD är ännu enklare. Installera bara drivrutinen 'extra/usbgpu/tbgpu' och AMD=1. 0 planerar att stödja Intel på den här nivån.
50,31K