mcpField
K
kernelgen-flagos

kernelgen-flagos

github.com/flagos-ai开发22100 次安装15 周前更新
代码仓库

关于 kernelgen-flagos

kernelgen-flagos 是用于 Python/Triton 仓库中 GPU 算子生成、优化和平台适配的技能,并为 FlagGems 和 vLLM 提供专用流程。它会根据仓库类型分派任务,算子工作必须使用 kernelgen-server。

主要功能

  1. 01为 Python/Triton 仓库生成 GPU 内核
  2. 02优化现有 Triton 内核
  3. 03将算子适配到目标平台
  4. 04为 FlagGems 和 vLLM 分派流程
  5. 05配置 kernelgen-server 并提交反馈

适用场景

  1. 01在 Python/Triton 仓库生成算子
  2. 02为 FlagGems 或 vLLM 优化 Triton 算子
  3. 03将 Triton 算子迁移到其他平台

MCP 相关

该技能会先检查并配置 kernelgen-server MCP 服务,再分派任务。生成、优化和平台适配分别通过 MCP 工具执行。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/flagos-ai/skills --skill kernelgen-flagos

安装后在 Claude Code 中输入/kernelgen-flagos确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

kernelgen-generate-for-flaggems.md
kernelgen-generate-for-vllm.md
kernelgen-generate.md
kernelgen-mcp-setup.md
kernelgen-optimize-for-flaggems.md
kernelgen-optimize-for-vllm.md
kernelgen-optimize.md
kernelgen-specialize-for-flaggems.md
kernelgen-specialize.md
kernelgen-submit-feedback.md
LICENSE.txt
README_zh.md
README.md

详细介绍

kernelgen-flagos — 统一 GPU 算子生成技能

这是一个统一入口,将生成和优化子技能整合在一起:

子技能文件用途
生成
kernelgen-generate.md为任意 Python/Triton 仓库生成 GPU 内核
kernelgen-generate-for-flaggems.md专门为 FlagGems 仓库生成内核
kernelgen-generate-for-vllm.md专门为 vLLM 仓库生成内核
优化
kernelgen-optimize.md通过 MCP 迭代优化现有 Triton 内核(通用)
kernelgen-optimize-for-flaggems.md优化 Triton 算子并集成到 FlagGems(3 种模式:内置/外部/实验性)
kernelgen-optimize-for-vllm.md优化 Triton 算子并集成到 vLLM(通过 CustomOp 注册)
平台专用化
kernelgen-specialize.md通过 MCP specialize_kernel 将 Triton 算子专用于目标平台(例如,从 GPU 专用到 Ascend NPU)
kernelgen-specialize-for-flaggems.md平台专用化 + FlagGems 集成(4 种模式:厂商算子/厂商融合/覆盖内置/实验性)
MCP 配置
kernelgen-mcp-setup.md检查并自动配置 kernelgen-server MCP 服务(内置 URL,用户只需提供 Token)
反馈
kernelgen-submit-feedback.md通过 GitHub 或电子邮件提交错误报告和反馈

所有子技能文件都位于与此 SKILL.md 文件相同的目录中。


路由流程 — 执行其他操作前必须先完成此流程

阶段 0:检查 MCP 配置

首先,确保已配置 kernelgen-server MCP 服务并使其就绪。

使用 Glob 工具在此技能的目录中查找 kernelgen-mcp-setup.md:

Glob: **/skills/kernelgen-flagos/kernelgen-mcp-setup.md

然后使用 Read 工具读取匹配的文件,并严格遵循其中的说明。

  • 如果已配置 MCP → 继续阶段 1。
  • 如果尚未配置 MCP → 配置技能将引导用户完成配置。 配置写入完成并提示用户重启后,在此处停止——不要继续阶段 1。
阶段 1:检测仓库类型

使用 Glob 工具检查当前工作目录中的项目身份文件:

Glob: pyproject.toml
Glob: setup.py
Glob: setup.cfg

然后使用 Read 工具读取存在的文件。根据文件内容确定项目名称(例如,pyproject.toml 中的 name = "flag_gems",或 setup.py 中的 name='vllm')。

同时使用 Glob 工具检查特征目录结构:

FlagGems 指标(满足任意一项即可):

  • 存在 src/flag_gems/ 目录
  • 项目名称为 flag_gems、flag-gems 或 FlagGems
  • 测试文件中出现 import flag_gems

vLLM 指标(满足任意一项即可):

  • 仓库根目录中存在 vllm/ 目录(其中包含 vllm/__init__.py)
  • 项目名称为 vllm
  • csrc/ 目录与 vllm/ 并列存在
阶段 2:分派到子技能

根据检测结果,使用 Read 工具读取此技能目录中相应的子技能文件,然后严格遵循该文件中的说明。

查找子技能文件:这些文件与此 SKILL.md 位于同一目录中。使用 Glob 工具查找路径:

Glob: **/skills/kernelgen-flagos/kernelgen-generate.md

然后使用 Read 工具读取匹配的路径。

决策表

生成请求(用户想要创建/生成新的算子):

检测结果操作
检测到 FlagGems 仓库阅读 kernelgen-generate-for-flaggems.md 并按其说明操作
检测到 vLLM 仓库阅读 kernelgen-generate-for-vllm.md 并按其说明操作
均未检测到(或未知)阅读 kernelgen-generate.md 并按其说明操作

优化请求(用户想要优化现有算子,提到“optimize”“speedup”“improve performance”):

检测结果操作
检测到 FlagGems 仓库阅读 kernelgen-optimize-for-flaggems.md 并按其说明操作
检测到 vLLM 仓库阅读 kernelgen-optimize-for-vllm.md 并按其说明操作
均未检测到(或未知)阅读 kernelgen-optimize.md 并按其说明操作

专用化请求(用户想要将算子迁移/专用化到其他平台,提到“specialize”“migrate to Ascend/NPU”“platform migration”):

检测结果操作
检测到 FlagGems 仓库阅读 kernelgen-specialize-for-flaggems.md 并按其说明操作
均未检测到(或未知)阅读 kernelgen-specialize.md 并按其说明操作

反馈请求:

检测结果操作
用户报告错误或请求提交反馈阅读 kernelgen-submit-feedback.md 并按其说明操作

重要规则:

  1. 始终先检测,再分派。 切勿跳过检测。
  2. 开始执行前,完整阅读子技能文件,不要只读其中一部分。
  3. 严格遵循子技能说明,将其视为主 SKILL.md。子技能中的所有步骤、规则和流程均完全适用。
  4. 不要混用子技能。 分派到某个子技能后,应遵循其说明直至完成。
  5. 如果用户明确指定某个子技能(例如“使用 FlagGems 版本”),无论自动检测结果如何,都应遵从该请求。
  6. 关键——必须使用 MCP:所有算子代码生成都必须通过 mcp__kernelgen-mcp__generate_kernel MCP 工具进行。优化使用 mcp__kernelgen-mcp__optimize_kernel,平台专用化使用 mcp__kernelgen-mcp__specialize_kernel。切勿自行生成 Triton 内核、PyTorch 封装或算子实现。如果未配置 MCP、无法连接,或在所有重试后仍然失败,请停止并报告问题——不要退而手动编写代码。
阶段 3:反馈处理

在工作流的任何阶段,如果用户报告错误、表示某项功能无法正常工作,或要求提交有关此技能的反馈:

  1. 使用 Read 工具,从此技能的目录中读取 kernelgen-submit-feedback.md。
  2. 按照该文件中描述的反馈提交流程操作。
  3. 提交反馈后,询问用户是要继续算子生成工作流还是停止。

用户快速参考

# === Generation ===
# Generate a kernel operator (auto-detects repo type)
/kernelgen-flagos relu

# Generate with explicit function type
/kernelgen-flagos rms_norm --func-type normalization

# === Optimization ===
# Optimize an existing Triton kernel (auto-detects repo type)
# Just say "optimize the relu kernel" or "improve kernel performance"
# The skill will automatically dispatch to the right optimization sub-skill

# The skill will automatically:
# - Detect if you're in a FlagGems repo → use FlagGems-specific workflow
# - Detect if you're in a vLLM repo → use vLLM-specific workflow
# - Otherwise → use the general-purpose workflow

如果生成过程中遇到任何问题,只需说“提交反馈”或“报告错误”,该技能就会引导你完成反馈提交流程。

评论

支持 Markdown