文件最后提交记录最后更新时间
7 天前
7 天前
7 天前
1 个月前
README

评测任务样例 (tasks)

定位:本目录是评测流水线的示例 fixture,非生产评测目标。 mish/exp 等正式评测算子在 tasks/ 目录下,本目录仅提供 add/sqrt 两个轻量算子, 供开发者理解评测任务目录结构、验证流水线是否正常工作。

目录结构

examples/tasks/
├── level1/                  # L1 基础算子
│   └── sqrt/                # Sqrt 算子(单输入 Elementwise)
│       ├── proto.yaml       # 算子原型定义
│       ├── golden.py        # PyTorch 参考实现
│       ├── cases.yaml       # 评测用例定义
│       ├── cases.csv        # 评测用例 CSV 格式
│       └── desc.md          # 算子 API 文档
├── level2/                  # L2 中级算子
│   └── add/                 # Add 算子(双输入 Elementwise)
│       ├── proto.yaml
│       ├── golden.py
│       ├── cases.yaml
│       ├── cases.csv
│       └── desc.md
├── metadata/                # Baseline 性能数据
│   ├── 910b2.json           # 910b2 平台 baseline(fixture,值均为 0.0 placeholder)
│   └── VERSION              # 版本信息
└── README.md                # 本文件

用例说明

这两个算子的 metadata/910b2.json 中所有 baseline_perf_ust_hw_us 均为 0.0(placeholder),因为本目录用于验证评测流水线机制,不做真实性能评测。

算子 Level 输入 dtype 用例数 特点
Sqrt L1 x (单输入) float16, float32, bfloat16 4 演示单输入算子的评测流程
Add L2 x, y (双输入) float16, float32, bfloat16, int32 5 演示双输入算子的评测流程

使用方式

1. 通过评测脚本

# 评测 add 算子
./scripts/run_evaluation.sh --source-dir examples/aclnn_launch_example \
    --task-dir examples/tasks/level2/add --no-perf

# 评测 sqrt 算子
./scripts/run_evaluation.sh --source-dir examples/aclnn_launch_example \
    --task-dir examples/tasks/level1/sqrt --no-perf

# 评测目录下所有样例算子(add + sqrt)
./scripts/run_evaluation.sh --source-dir examples/aclnn_launch_example \
    --task-dir examples/tasks --no-perf

2. 通过 kernel_eval CLI

PYTHONPATH=src python -m kernel_eval.cli eval \
    --source-dir examples/aclnn_launch_example \
    --task-dir examples/tasks/level2/add \
    --no-perf --case-id 1

3. 通过 auto_pipeline

from auto_pipeline.core import CannBenchClient

client = CannBenchClient()
add_case = client.load_case("cann", "examples/tasks/level2/add")
sqrt_case = client.load_case("cann", "examples/tasks/level1/sqrt")

与生产评测任务的关系

目录 定位 baseline/t_hw 用例数
tasks/levelN/<op>/ 正式评测集 真实测量值 20+
examples/tasks/levelN/<op>/ 流水线 fixture 0.0 placeholder 4-5

如需新增生产评测算子,请参照 docs/guide/contributing.md 将算子目录放入 tasks/levelN/ 下。

与算子工程样例的关系

目录 定位 内容
examples/direct_launch_example/ 算子实现样例 C++ kernel + Python bindings(编译→安装→调用)
examples/aclnn_launch_example/ ACLNN 算子实现样例 ACLNN 模式算子工程
examples/tasks/ 算子评测样例 proto.yaml + golden.py + cases.yaml + metadata/(定义→评测)

简单理解:direct_launch_example / aclnn_launch_example 教你"怎么写算子",examples/tasks 教你"怎么评算子"。