[KMCompiler]Add blocked_flash and register vendor operators by name. (#4)
English | 中文
FlagTrain 是 FlagOS 的一部分。FlagOS 是面向多元 AI 芯片的开源系统软件栈,致力于打通模型、系统与芯片之间的软件协作,降低模型在不同硬件平台上的迁移与维护成本。
FlagTrain 是一个基于 Triton 语言实现的训练算子与计算组件库,面向主流训练框架及关键组件,提供可复用、可优化的训练计算实现,旨在加速大模型在多种硬件后端上的训练。
对于训练框架开发者,FlagTrain 致力于提供符合相应接口和计算语义的 Triton 实现,减少重复开发与硬件适配工作;对于算子开发者,FlagTrain 提供围绕实际训练场景组织实现、测试和性能优化的协作平台。
项目目前处于初期建设阶段,仓库已建立文档与组件目录骨架,尚未提供算子实现或完成组件及硬件兼容性验证。
上述项目构成首批建设范围。具体支持情况将按算子、数据类型、组件版本和硬件后端记录在兼容性说明中。
FlagTrain 与 FlagOS 生态中的算子库、编译器及训练框架协同建设,各自承担不同职责:
组件之间的具体调用和集成方式,将在对应模块文档与使用示例中说明。
FlagTrain/ ├── src/flag_train/ │ ├── megatron/ # Megatron 相关计算实现 │ ├── deepspeed/ # DeepSpeed 相关计算实现 │ └── transformer_engine/ # Transformer Engine 相关计算实现 ├── tests/ # 按组件组织的正确性与接口兼容性测试 ├── benchmark/ # 按组件组织的性能基准 ├── examples/ # 按组件组织的调用与接入示例 ├── docs/ # 安装、开发与兼容性说明 ├── tools/ # 开发与维护工具 ├── CONTRIBUTING.md ├── SECURITY.md ├── LICENSE └── pyproject.toml
三个组件目录用于直接存放后续的 Triton 计算实现与接口封装。组件内部将按具体算子或计算模块组织文件,前向、反向及调用封装可以放在一起。公共能力将在出现明确复用需求时提取。
每项算子或计算组件的实现,应提供相应的参考实现、测试用例和性能验证方法。
本地安装骨架请参考开始使用,开发约定请参考开发说明。算子调用示例和测试命令将随首批实现一同提供。
欢迎参与训练算子开发、组件适配、性能优化、测试和文档建设。
本项目采用 Apache License 2.0。涉及第三方代码的部分应保留其原有许可证和版权声明。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
FlagTrain
English | 中文
介绍
FlagTrain 是 FlagOS 的一部分。FlagOS 是面向多元 AI 芯片的开源系统软件栈,致力于打通模型、系统与芯片之间的软件协作,降低模型在不同硬件平台上的迁移与维护成本。
FlagTrain 是一个基于 Triton 语言实现的训练算子与计算组件库,面向主流训练框架及关键组件,提供可复用、可优化的训练计算实现,旨在加速大模型在多种硬件后端上的训练。
对于训练框架开发者,FlagTrain 致力于提供符合相应接口和计算语义的 Triton 实现,减少重复开发与硬件适配工作;对于算子开发者,FlagTrain 提供围绕实际训练场景组织实现、测试和性能优化的协作平台。
项目目前处于初期建设阶段,仓库已建立文档与组件目录骨架,尚未提供算子实现或完成组件及硬件兼容性验证。
设计目标
组件范围
上述项目构成首批建设范围。具体支持情况将按算子、数据类型、组件版本和硬件后端记录在兼容性说明中。
与相关项目的关系
FlagTrain 与 FlagOS 生态中的算子库、编译器及训练框架协同建设,各自承担不同职责:
组件之间的具体调用和集成方式,将在对应模块文档与使用示例中说明。
目录结构
三个组件目录用于直接存放后续的 Triton 计算实现与接口封装。组件内部将按具体算子或计算模块组织文件,前向、反向及调用封装可以放在一起。公共能力将在出现明确复用需求时提取。
开发与验证
每项算子或计算组件的实现,应提供相应的参考实现、测试用例和性能验证方法。
正确性测试
性能测试
本地安装骨架请参考开始使用,开发约定请参考开发说明。算子调用示例和测试命令将随首批实现一同提供。
参与贡献
欢迎参与训练算子开发、组件适配、性能优化、测试和文档建设。
许可证
本项目采用 Apache License 2.0。涉及第三方代码的部分应保留其原有许可证和版权声明。