我们的 GPU 堆栈对于 NVIDIA 和 AMD,除了少量签名固件外,100% 开源且纯 Python,除了编译器。它不使用供应商驱动程序、框架或库。这就是为什么它在 Mac 上如此容易运行。 对于编译器,在 AMD 上,我们使用上游的 LLVM,而在 NVIDIA 上,我们使用来自 MESA 项目的 NAK 编译器。我们计划在一两年内用纯 tinygrad 替换编译器。 随着 RANGEIFY 的合并,我们的降级工作现在达到了最先进的水平,采用 TVM 风格。我们正在研究 ThunderKittens 和 TileLang,以提高该级别的速度,并计划在 200 天内为我们的 AMD Llama 405B 训练合同准备好所有这些内容。 由于 tinygrad 的小巧和纯 Python 特性,它是最容易取得进展的 ML 库,也就是改进的最快坡度。通过 Megakernel 风格的调度、MODeL_opt 风格的规划和 E-graph 风格的符号处理,我们应该能够超越 PyTorch 和 JAX 的最先进速度。 如果我们做到这一点,NVIDIA 的护城河就结束了。添加一个新的加速器到 tinygrad 最多只需 1000 行代码。而且我不是指在内核驱动程序、编译器和库的帮助下添加新的加速器。只需 1000 行软件就能让 *整个* 加速器直接在 PCIe BARs 上运行,就像 tinygrad 现在与 NVIDIA 和 AMD GPU 所做的那样。
@geerlingguy 实际上,AMD 更简单。只需安装 `extra/usbgpu/tbgpu` 驱动程序,设置 AMD=1
@geerlingguy 实际上,AMD 更简单。只需安装 `extra/usbgpu/tbgpu` 驱动程序并设置 AMD=1。0 计划在这个层面上支持 Intel。
57.12K