Chúng tôi có một hệ thống GPU cho cả NVIDIA và AMD, ngoài một số ít phần firmware đã ký, hoàn toàn mã nguồn mở và thuần Python ngoại trừ trình biên dịch. Nó không sử dụng trình điều khiển, khung hoặc thư viện của nhà cung cấp. Đó là lý do tại sao nó dễ dàng hoạt động trên Mac. Đối với các trình biên dịch, trên AMD, chúng tôi sử dụng LLVM upstream, và trên NVIDIA, chúng tôi sử dụng trình biên dịch NAK từ dự án MESA. Chúng tôi dự định thay thế trình biên dịch bằng tinygrad thuần trong một hoặc hai năm tới. Với RANGEIFY đã được hợp nhất, các công cụ hạ thấp của chúng tôi hiện nay tương ứng với công nghệ tiên tiến, theo phong cách TVM. Chúng tôi đang nghiên cứu ThunderKittens và TileLang để tăng tốc ở cấp độ đó, và sẽ có tất cả những thứ này sẵn sàng trong 200 ngày cho thời hạn hợp đồng đào tạo AMD Llama 405B của chúng tôi. Do kích thước nhỏ và bản chất thuần Python của tinygrad, đây là thư viện ML dễ dàng nhất để tiến bộ, tức là độ dốc cải tiến nhanh nhất. Với phong cách Megakernel cho lập lịch, phong cách MODeL_opt cho lập kế hoạch, và phong cách E-graph cho biểu tượng, chúng tôi nên vượt qua công nghệ tiên tiến trong tốc độ PyTorch và JAX. Nếu chúng tôi làm được điều đó, thì rào cản của NVIDIA sẽ không còn. Chỉ cần tối đa 1000 dòng để thêm một bộ tăng tốc mới vào tinygrad. Và tôi không có ý nói thêm một bộ tăng tốc mới với sự trợ giúp từ trình điều khiển kernel, trình biên dịch và thư viện. Chỉ cần 1000 dòng phần mềm cho *toàn bộ* bộ tăng tốc giao tiếp trực tiếp trên PCIe BARs, giống như những gì tinygrad đang làm với các GPU NVIDIA và AMD hiện nay.
@geerlingguy Hoặc thực ra, AMD còn dễ hơn. Chỉ cần cài đặt driver `extra/usbgpu/tbgpu` và AMD=1
@geerlingguy Hoặc thực ra, AMD còn dễ hơn. Chỉ cần cài đặt driver `extra/usbgpu/tbgpu` và AMD=1. 0 dự kiến sẽ hỗ trợ Intel ở mức này.
54,31K