FlagTensor 是 FlagOS 的一部分。
FlagOS 是一个面向多元AI芯片的开源、统一系统软件栈,旨在打通模型、系统与芯片层,
培育开放协作的生态系统。它支持”一次开发,多芯运行”的工作流,兼容多样化的 AI 加速芯片,
释放硬件性能潜力,消除各类 AI 芯片专用软件栈之间的碎片化问题,
并大幅降低大模型在多种 AI 硬件移植与维护的成本。
import torch
import flagtensor
# 一元运算
x = torch.randn(1024, device="cuda", dtype=torch.float32)
y = flagtensor.abs(x)
z = flagtensor.relu(x)
w = flagtensor.sigmoid(x)
# 二元运算
a = torch.randn(1024, device="cuda")
b = torch.randn(1024, device="cuda")
c = flagtensor.add(a, b)
# 张量缩并
m = torch.randn(64, 32, device="cuda")
n = torch.randn(32, 48, device="cuda")
r = flagtensor.gett(m, n)
中文版 | English
介绍
FlagTensor 是 FlagOS 的一部分。 FlagOS 是一个面向多元AI芯片的开源、统一系统软件栈,旨在打通模型、系统与芯片层, 培育开放协作的生态系统。它支持”一次开发,多芯运行”的工作流,兼容多样化的 AI 加速芯片, 释放硬件性能潜力,消除各类 AI 芯片专用软件栈之间的碎片化问题, 并大幅降低大模型在多种 AI 硬件移植与维护的成本。
FlagTensor 是一个使用 Triton 编程语言 实现的高性能张量原语库。 它提供了常见张量原语(一元运算、二元运算、张量缩并)的优化实现, 并以 cuTensor 为基线进行正确性和性能对比, 在不同 GPU 架构上提供参考级别的精度和具有竞争力的性能。
FlagTensor 基于 FlagTree(FlagOS 维护的支持多后端的 Triton 分支), 提供了与厂商无关的算子接口和可插拔的后端支持。
特性
_nvidia/hopper/、_nvidia/ampere/)完整算子列表及各算子的成熟度阶段,参见 conf/operators.yaml。
快速入门
详细安装步骤请参阅 环境搭建指南。
在 NVIDIA A100 上快速开始:
使用示例
运行测试
项目结构
支持的算子
贡献代码
引用
欢迎引用我们的项目:
相关项目
许可证
本项目采用 Apache License (Version 2.0) 授权许可。