用途:面向 FlagGems 算子 PR 的提交与提交前审查,覆盖从规范名查询到创建 PR 并回填链接的完整流程。
主要能力:提供三个核心命令——operator_registry.py lookup <op> 查询规范名;extract_from_worktree.py <op> --repo-dir $FLAGGEMS_REPO 从 worktree 原样提取 kernel、test、benchmark、ops/init.py、init.py、operators.yaml 共 6 个文件并按字母序注册;submit_operator.py <op> --repo-dir $FLAGGEMS_REPO 串行执行 9 步(check_operator、多重载一致性检查、pre-commit、本地测试、本地 benchmark、PR 描述生成、commit、push、创建 PR、回填链接),任一步失败即中断。支持 --dry-run、--skip-test、--skip-benchmark 参数。附 check_operator.py(25+ 检查项)、check_overload_consistency.py、gen_pr_description.py、pr_gate_check.sh 等脚本及多份 references 文档。
用法与限制:需设置 FLAGGEMS_REPO 与 GH_TOKEN,禁止硬编码;提交前须先跑脚本再 commit,check_operator.py --strict 须 0 errors;代码须与 worktree 原版一致,仅允许 import 调整与格式化;创建 PR 后必须回填链接。流程规则含禁止 cherry-pick/rebase、不修改上游已有测试、先通用后特化、概率算子用统计验证、nan 比较用 gems_assert_close(equal_nan=True)、禁止 .is_cuda、autotune 配置放 config 文件、fused 算子放 fused/ 目录、logger 格式为 "GEMS <OP_NAME_UPPER>" 等。环境变量中 FLAGGEMS_FORK、FLAGGEMS_UPSTREAM、各路径变量及默认值以资料为准;官方文本未提供。