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 硬件的过程。
相关
- 项目
- 项目
- 项目
- 项目
- 项目