fix readme
基于大模型的 Triton GPU Kernel 智能生成、优化、审查、解释与迁移工具
支持 NVIDIA GPU + 沐曦 Metax + 昇腾 Ascend + 寒武纪 + 海光 DCU + 燧原 GCU
📄 模型服务集成与真实调用验证文档 — 包含沐曦 Metax GPU 算力环境配置、Qwen3.5-27B 模型 vLLM 部署、API 接口封装、基于Claude Code的真实调用日志(vllm.log)和性能数据(Prompt 290.5 tokens/s、生成 10.3 tokens/s)。
Triton Operator Generator 是一个面向 GPU/加速器编程的 AI Skill,通过接入大语言模型(Gitee.AI 平台沐曦 GPU 算力),为开发者提供 Triton GPU Kernel 的全流程智能辅助,并原生支持多种国产 AI 加速器的编程适配和知识检索。
cuda
npu
mlu
gcu
用户指定硬件 │ ┌───────────┼───────────┐ │ │ │ CUDA 兼容 需适配 查询模式 (沐曦/海光) (昇腾/寒武纪) (硬件信息) │ │ │ ▼ ▼ ▼ Triton 直接运行 提供: 返回: + 硬件差异注释 - Triton参考 - 编程接口 + 性能调优建议 - 原生等价实现 - 内存层次 - API映射表 - 兼容性分析 - 差异对照表 - 代码示例
输入:自然语言描述(可选指定硬件) 输出:完整可运行的 Kernel 代码 + launcher + 验证代码 + 硬件适配说明
# 基础生成 python -m src.skill_engine generate "生成一个向量加法 Triton 算子" # 指定硬件生成 python -m src.skill_engine generate "生成一个 Softmax 算子" --hw ascend python -m src.skill_engine generate "沐曦 GPU 的矩阵乘法" --hw metax
支持的算子类型:
输入:已有 Triton 代码 + 优化目标 + 目标硬件 输出:优化后代码 + 逐项优化说明 + 硬件特有优化建议
python -m src.skill_engine optimize kernel.py --hw ascend
输入:Triton 代码 输出:正确性 ✅⚠️ + 性能 🟢🟡🔴 + 硬件兼容性 🔧✅ + 修复代码
python -m src.skill_engine review kernel.py --hw metax
输入:Triton 代码 输出:逐行中文解释 + 数据流图 + PyTorch 等价实现 + 硬件映射表
python -m src.skill_engine explain kernel.py
输入:PyTorch 代码 + 目标硬件 输出:Triton Kernel + 迁移说明 + 硬件适配方案
python -m src.skill_engine migrate pytorch_op.py --hw ascend
输入:硬件名称 + 查询内容 输出:编程接口、性能特征、Triton 兼容性、API 映射对照表
# 查询昇腾的编程接口 python -m src.skill_engine search_hardware "昇腾" # 查询沐曦的内存层次 python -m src.skill_engine search_hardware "沐曦" # 会自动查询
from src.api_client import create_client # 创建客户端 client = create_client(api_key="your-api-key") # 调用模型 result = client.chat( messages=[ {"role": "system", "content": "你是 Triton 算子生成专家..."}, {"role": "user", "content": "生成一个向量加法 Triton 算子"}, ], temperature=0.3, max_tokens=4096, ) print(result["content"]) print(f"延迟: {result['latency_seconds']:.2f}s") print(f"吞吐: {result['tokens_per_second']:.1f} tokens/s")
┌──────────────────────────────────────────────────────────┐ │ 用户输入层 │ │ "生成一个 Softmax,目标硬件昇腾" │ │ / Triton 代码 / PyTorch 代码 / 硬件查询 │ └────────────────────────┬─────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ 意图识别 + 硬件检测 │ │ ┌──────────┐ ┌──────────────────────────────────────┐ │ │ │ 功能识别 │ │ 硬件自动检测(昇腾/沐曦/寒武纪/海光) │ │ │ └──────────┘ └──────────────────────────────────────┘ │ └────────────────────────┬─────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ Prompt 工程层 │ │ ┌────────────────────────────────────────────────────┐ │ │ │ System Prompt(GPU专家+国产硬件知识库) │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ Few-shot 示例(10+ 个,按任务+硬件智能选择) │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ 硬件上下文注入(目标硬件特有约束+API映射) │ │ │ └────────────────────────────────────────────────────┘ │ └────────────────────────┬─────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ API 客户端层 │ │ Gitee.AI 封装 | 自动重试 | 性能追踪 | 日志记录 │ └────────────────────────┬─────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ 沐曦 GPU 算力 + 大模型推理 │ │ DeepSeek-V3 | Qwen2.5-72B | GLM-4 | Llama-3.1 │ └──────────────────────────────────────────────────────────┘
# 克隆仓库 git clone https://gitlink.org.cn/your-username/triton-operator-generator.git cd triton-operator-generator # 安装依赖 pip install -r requirements.txt # 配置 API Key cp .env.example .env # 编辑 .env 填入你的 GITEE_AI_API_KEY
# 设置 API Key export GITEE_AI_API_KEY="your-api-key" # 基础功能 python -m src.skill_engine generate "生成一个向量加法 Triton 算子" python -m src.skill_engine optimize kernel.py python -m src.skill_engine review kernel.py python -m src.skill_engine explain kernel.py python -m src.skill_engine migrate pytorch_op.py # 指定目标硬件 python -m src.skill_engine generate "生成 Softmax" --hw ascend python -m src.skill_engine generate "矩阵乘法" --hw metax python -m src.skill_engine optimize kernel.py --hw dcu # 硬件知识检索 python -m src.skill_engine search_hardware "昇腾" python -m src.skill_engine search_hardware "沐曦 Metax 的编程接口" # 带性能统计 python -m src.skill_engine generate "ReLU 算子" --stats
from src.skill_engine import TritonOperatorGenerator, detect_hardware engine = TritonOperatorGenerator(api_key="your-api-key") # 自动检测硬件 hw = detect_hardware("生成一个 Softmax,在昇腾上跑") # → "昇腾 Ascend NPU" # 生成算子(自动适配硬件) result = engine.generate("生成一个 Softmax,在昇腾上跑") print(result["code"]) print(result["hardware"]) # "昇腾 Ascend NPU" # 指定硬件生成 result = engine.generate("矩阵乘法", hardware="沐曦 Metax GPU") # 硬件知识检索 info = engine.search_hardware_info("昇腾", query="内存层次和编程接口") print(info["info"]) # 性能统计 engine.client.print_stats()
输入:
生成一个 Softmax 算子,需要支持在昇腾 NPU 上运行
输出(关键部分):
def softmax_ascend(x: torch.Tensor) -> torch.Tensor: """昇腾 NPU 适配的 Softmax""" device_type = str(x.device).split(':')[0] if device_type == 'npu': import torch_npu return torch.nn.functional.softmax(x, dim=-1) elif device_type == 'cuda': return softmax_triton(x) # Triton kernel else: return torch.nn.functional.softmax(x, dim=-1)
硬件差异对照表:
生成一个 Flash Attention 前向传播的 Triton 算子,支持 causal mask
输出:完整的 Flash Attention kernel 实现,包含 online softmax、causal mask、分块计算(详见 Few-shot 示例)。
查询沐曦 Metax GPU 的编程接口
输出:
沐曦 Metax GPU 知识: 1. 架构:兼容 CUDA 生态,支持 Triton 2. 编程模型:与 NVIDIA GPU 高度兼容,使用 CUDA/Triton 编程 3. 内存层次:Global Memory → L2 Cache → Shared Memory → Registers 4. Triton 兼容性:✅ 直接支持,无需额外适配 5. 设备类型:'cuda'(通过 CUDA 兼容层运行) 6. 沐曦 C500 系列:FP32/FP16/BF16/INT8,约 200+ TFLOPS 示例代码: import torch x = torch.randn(1000, device='cuda') # 沐曦 GPU 使用 cuda 设备 ...
📊 API 调用性能统计 ================================================== 总调用次数: 10 成功/失败: 10/0 平均延迟: 2.356s P50 延迟: 2.123s P99 延迟: 4.567s 平均吞吐量: 85.3 tokens/s 总 Token 消耗: 25,678 ==================================================
triton-operator-generator/ ├── .trae/ │ └── skills/ │ └── triton-operator-generator/ │ └── SKILL.md # Skill 定义文件(核心交付物) ├── src/ │ ├── __init__.py # 包初始化 │ ├── api_client.py # Gitee.AI API 客户端封装 │ ├── prompts.py # Prompt 模板 + 国产硬件知识库 + 13 个 Few-shot │ └── skill_engine.py # 核心引擎 + 硬件检测 + 6 大功能 ├── examples/ │ ├── demo_generate.py # 功能演示脚本 │ └── verify_call.py # 真实调用验证脚本 ├── requirements.txt # 依赖 ├── .env.example # 环境变量模板 ├── .gitignore # Git 忽略配置 ├── LICENSE # MIT 开源协议 └── README.md # 本文档
本 Skill 内置了完整的国产 AI 加速器知识库,包含:
tl.load
DataCopy(GM→UB)
__memcpy
tl.store
DataCopy(UB→GM)
tl.dot
CubeCompute
__bang_matmul
tl.program_id
GetBlockIdx
taskId
BLOCK_SIZE
tiling 因子
拆分因子
tl.arange
计算偏移
tl.where
Select
__bang_select
export GITEE_AI_API_KEY="your-api-key" cd examples python verify_call.py
验证脚本自动记录:
MIT License
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
🚀 Triton Operator Generator
GPU/加速器算子智能生成助手
基于大模型的 Triton GPU Kernel 智能生成、优化、审查、解释与迁移工具
支持 NVIDIA GPU + 沐曦 Metax + 昇腾 Ascend + 寒武纪 + 海光 DCU + 燧原 GCU
📖 项目简介
Triton Operator Generator 是一个面向 GPU/加速器编程的 AI Skill,通过接入大语言模型(Gitee.AI 平台沐曦 GPU 算力),为开发者提供 Triton GPU Kernel 的全流程智能辅助,并原生支持多种国产 AI 加速器的编程适配和知识检索。
🌟 核心亮点
🖥 支持的硬件平台
cudacudanpumlucudagcu硬件适配策略
🛠 Skill 功能说明
1. 🔨 算子生成 (Generate)
输入:自然语言描述(可选指定硬件) 输出:完整可运行的 Kernel 代码 + launcher + 验证代码 + 硬件适配说明
支持的算子类型:
2. ⚡ 算子优化 (Optimize)
输入:已有 Triton 代码 + 优化目标 + 目标硬件 输出:优化后代码 + 逐项优化说明 + 硬件特有优化建议
3. 🔍 算子审查 (Review)
输入:Triton 代码 输出:正确性 ✅⚠️ + 性能 🟢🟡🔴 + 硬件兼容性 🔧✅ + 修复代码
4. 📚 算子解释 (Explain)
输入:Triton 代码 输出:逐行中文解释 + 数据流图 + PyTorch 等价实现 + 硬件映射表
5. 🔄 PyTorch → Triton 迁移 (Migrate)
输入:PyTorch 代码 + 目标硬件 输出:Triton Kernel + 迁移说明 + 硬件适配方案
6. 🔎 硬件知识检索 (Search Hardware)
输入:硬件名称 + 查询内容 输出:编程接口、性能特征、Triton 兼容性、API 映射对照表
🧠 使用的模型与算力环境
模型服务
算力环境
API 接口封装
🏗 技术架构
🚀 运行与部署方法
环境要求
安装
命令行使用
Python API 使用
📋 示例输入输出
示例1:昇腾 NPU 适配的 Softmax
输入:
输出(关键部分):
硬件差异对照表:
示例2:Flash Attention 生成
输入:
输出:完整的 Flash Attention kernel 实现,包含 online softmax、causal mask、分块计算(详见 Few-shot 示例)。
示例3:硬件知识检索
输入:
输出:
示例4:性能数据
📁 项目结构
🔧 国产硬件知识库
本 Skill 内置了完整的国产 AI 加速器知识库,包含:
API 映射对照表(Triton → 国产硬件原生 API)
tl.loadDataCopy(GM→UB)__memcpytl.storeDataCopy(UB→GM)__memcpytl.dotCubeCompute__bang_matmultl.program_idGetBlockIdxtaskIdBLOCK_SIZEtiling 因子拆分因子tl.arange计算偏移计算偏移tl.whereSelect__bang_select📊 真实调用验证
验证方法
验证内容
性能数据记录
验证脚本自动记录:
📄 License
MIT License
🙏 致谢