Token导航 LogoToken导航TokenDH.com
待分类权限需确认github未标认证来源可访问许可证需确认审计通过

ascendc-operator-testcase-genascendc 运算符测试用例生成

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

1,152

周安装

49

GitHub Stars

12

下载量

404
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ascendc-operator-testcase-gen(ascendc 运算符测试用例生成)
来源仓库:https://github.com/ascend/agent-skills
仓库路径:skills/ascendc-operator-testcase-gen
安装命令:
npx skills add https://github.com/ascend/agent-skills --skill ascendc-operator-testcase-gen
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ascend/agent-skills --skill ascendc-operator-testcase-gen

简介

ascendc-operator-testcase-gen 根据 design.md 自动生成测试用例与标杆,供 UT、精度与性能 skill 复用。

  • 基于 PyTorch 与 NumPy 已有实现推导约束关系,生成典型与边界用例。
  • 使用前必须读取 templates/test-cases-template.md 规范,确保格式合规。
  • 输出文件须包含 SUPPORTED_DTYPES、TEST_SHAPES 与 BOUNDARY_VALUES 定义。
  • 建议在设计文档完成后立即调用,避免后续 skill 因用例缺失而中断。

SKILL.md

AscendC Operator Testcase Gen Skill

根据算子设计文档(design.md)生成验证用例和标杆,供后续UT代码生成、精度验证以及性能验证skill使用。

使用场景

ascendc-operator-design 创建design.md之后、ascendc-operator-ut-gen/ascendc-operator-precision-eval/ascendc-operator-performance-eval调用之前调用。

调用接口

必需参数

调用此技能时,必须明确提供以下参数:

参数1:设计文档

  • 根据用户提供的design.md设计用例
  • 必须包含算子逻辑、输入输出、约束条件、所支持数据类型
  • 如果未指定,默认项目路径下的design.md

设计流程

1. 算子设计文档解析

  1. 读取设计文档中[算子接口]、[计算逻辑]、[参考实现]章节
  2. 根据算子实际计算逻辑以及pyTorch已有实现、参考文档等,生成算子标杆,了解算子各个输入输出之间shape的相互约束。
  3. 基于约束,生成模型场景使用该算子时的常见shape典型用例、以及根据边界条件生成的泛化用例。

2. 测试用例生成

MANDATORY: 在生成测试用例之前,必须读取以下参考文档:

  1. 必读:
  • templates/test-cases-template.md — 测试用例格式参考
  • design.md — 用户提供的算子设计文档

2.1 设计原则

  1. 全 dtype 覆盖:每个 shape / 每个边界值都遍历算子支持的全部dtype,SUPPORTED_DTYPES必须包含design.md中[参数说明]支持的所有数据类型
  2. shape 由算子决定:根据算子支持的维度选择合适的 shape,不要写固定维度
  3. shape 不要过大:单个用例元素数控制在合理范围,避免不必要的大 tensor
  4. 用例总数 = (len(TEST_SHAPES) + len(GENERAL_SHAPES)) × len(SUPPORTED_DTYPES) ≥ 30

Part A: 常规 Shape 测试(TEST_SHAPES)

根据算子支持的维度以及算子类型,从以下维度池中选取适合的 shape,组成 TEST_SHAPES 列表。

MUST 根据算子实际支持的维度来选,不支持的维度不要选。

shape 选择参考池

维度推荐 shape适用算子类型
1D(128,), (1024,), (4096,), (8192,)elementwise, reduction
2D(32, 512), (64, 768), (128, 1024)elementwise, matmul, linear
3D(8, 16, 64), (4, 128, 256)elementwise, attention, conv1d
4D(4, 8, 32, 16), (2, 64, 32, 32)conv2d, elementwise
5D(2, 3, 4, 5, 6)conv3d, elementwise
shape 不要过大:推荐单个 shape 元素数 ≤ 200K。

TEST_SHAPES 格式

TEST_SHAPES = [
    ("category_name", "description", (dim0, dim1, ...)),
    # ...
]

Category 名称自定义,建议按维度或场景命名。示例:

# elementwise 算子(支持任意维度)
TEST_SHAPES = [
    ("1D",         "128 elements",         (128,)),
    ("1D",         "1024 elements",        (1024,)),
    ("1D",         "4096 elements",        (4096,)),
    ("1D",         "8192 elements",        (8192,)),
    ("2D",         "32x512",              (32, 512)),
    ("3D",         "8x16x64",             (8, 16, 64)),
    ("3D",         "4x128x256",           (4, 128, 256)),
    ("4D",         "4x8x32x16",           (4, 8, 32, 16)),
]

Part B: 泛化Shape 测试(GENERAL_SHAPES)

根据算子支持的维度以及算子类型,从以下维度池中选取适合的 shape,组成 GENERAL_SHAPES 列表。

MUST 根据算子实际支持的维度来选,不支持的维度不要选。

shape 选择参考池

小Shape场景(边界测试、极小值、非对齐测试)

维度小 shape测试目的
1D(1,), (2,), (4,), (8,)极小元素、边界值
1D(3,), (5,), (7,)非对齐长度
2D(1, 1), (2, 2), (4, 4)极小2D tensor
2D(1, 128), (2, 256)单行/单列场景
3D(1, 1, 1), (2, 2, 2)极小3D tensor
3D(1, 8, 64), (2, 16, 128)单batch场景

大Shape场景(生产环境、压力测试、模型典型场景)

维度大 shape适用模型元素数
1D(3072,), (4096,)BERT FFN中间层3K-4K
1D(5120,), (6400,)GPT-2 FFN中间层5K-6K
2D(512, 768)BERT-base full sequence393K
2D(512, 1024)BERT-large full sequence524K
2D(1024, 768)GPT-2 sequence786K
2D(1024, 1024)GPT-2 medium sequence1M
2D(1024, 1600)GPT-2 XL sequence1.6M
3D(8, 512, 768)BERT-base batch3.1M
3D(8, 197, 768)ViT-base batch1.2M
3D(16, 1024, 1024)GPT-2 large batch16.7M
注意事项: - 生产环境、模型典型场景推荐shape应视每个算子具体应用场景而变化 - 小shape用于边界测试,确保算子在极小输入下正确工作 - 大shape用于性能测试和验证大规模数据的正确性 - 元素数超过200K的shape仅用于泛化测试,不在常规测试中使用

GENERAL_SHAPES 格式

GENERAL_SHAPES = [
    ("Small", "description", (dim0, dim1, ...)),
    ("Large", "description", (dim0, dim1, ...)),
    # ...
]

Category 建议使用 "Small" 和 "Large" 区分场景。示例:

# elementwise 算子(支持任意维度)
GENERAL_SHAPES = [
    # 小Shape场景
    ("Small", "single element",         (1,)),
    ("Small", "tiny vector 2",          (2,)),
    ("Small", "tiny vector 4",          (4,)),
    ("Small", "unaligned length 3",     (3,)),
    ("Small", "unaligned length 5",     (5,)),
    ("Small", "2x2 matrix",             (2, 2)),
    ("Small", "1x128 single row",       (1, 128)),
    ("Small", "1x1x1 scalar",           (1, 1, 1)),
    ("Small", "1x8x64 single batch",    (1, 8, 64)),

    # 大Shape场景(生产环境)
    ("Large", "BERT-base FFN 3072",     (3072,)),
    ("Large", "BERT-large FFN 4096",    (4096,)),
    ("Large", "BERT-base 512x768",      (512, 768)),
    ("Large", "BERT-large 512x1024",    (512, 1024)),
    ("Large", "GPT-2 1024x768",         (1024, 768)),
    ("Large", "GPT-2 1024x1024",        (1024, 1024)),
    ("Large", "ViT-base 8x197x768",     (8, 197, 768)),
]

2.2 设计用例输出

基于收集的信息,读取 templates/test-cases-template.md 模板,填充所有章节,输出到 csrc/ops/[op-name]/test/[op-name]-test-cases.md

输出位置: ascend-kernel/csrc/ops/[op-name]/test/[op-name]-test-cases.md

注意事项

  1. 严格遵循模板章节:只输出模板中定义的章节(算子标杆、典型用例、泛化用例、使用说明)
  2. 禁止输出无关内容

- ❌ 精度验证标准(由 ascendc-operator-precision-eval 负责) - ❌ 性能验证标准(由 ascendc-operator-performance-eval 负责) - ❌ UT测试代码(由其他skill负责) - ❌ 任何超出模板章节定义的内容

  1. 输出文件位置ascend-kernel/csrc/ops/[op-name]/test/[op-name]-test-cases.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.28%
按下载量换算138

Claude

28.24%
按下载量换算114

Cursor

19.17%
按下载量换算77

Gemini CLI

8.63%
按下载量换算35

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills