InfiniTensor/ninetoothed

A domain-specific language (DSL) based on Triton but providing higher-level abstractions.

解决的问题

NineToothed 简化了高性能 GPU 内核的创建。它通过提供一种领域特定语言(DSL),消除了编写低级 GPU 代码时通常伴随的复杂性,使这一过程更加易于访问。

工作原理

它采用一种称为 张量导向的元编程(TOM) 的范式,以及“排列并应用”方法。开发者定义三个不同组件:arrangement(数据如何分块和扩展)、application(实际计算逻辑)以及 tensors 本身。这些组件通过 ninetoothed.make 进行整合,生成基于 Triton 的内核。

适用人群

需要编写自定义高性能 GPU 内核,但希望使用比原始 Triton 或 CUDA 代码更高层次抽象的开发者和研究人员。

主要亮点

  • 基于 Triton 的 DSL:利用 Triton 实现 GPU 性能。
  • 排列并应用范式:分离数据布局与计算逻辑,提升清晰度。
  • 张量导向的元编程:简化将高层张量操作映射到 GPU 硬件的过程。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目