CANN/cann-bench:Gcd算子API描述
Gcd 算子 API 描述【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench1. 算子简介计算两个整数的最大公约数。主要应用场景整数约分与最简分数计算数组维度对齐与分块策略中的公因子计算密码学中的模运算与欧几里得算法相关场景算子特征难度等级L2Broadcast双输入单输出逐元素运算输入支持广播2. 算子定义数学公式$$ y \gcd(x_1, x_2) $$其中 $\gcd(a, b)$ 表示 $a$ 与 $b$ 的最大公约数即同时整除 $a$ 和 $b$ 的最大正整数。当 $a b 0$ 时$\gcd(0, 0) 0$。3. 接口规范算子原型cann_bench.gcd(Tensor x1, Tensor x2) - Tensor y输入参数说明参数类型默认值描述x1Tensor必选第1个输入张量x2Tensor必选第2个输入张量输出参数Shapedtype描述y广播后的 shape与输入一致输出张量最大公约数数据类型输入 dtype输出 dtypeint16int16int32int32int64int64规则与约束两个输入张量的 shape 需满足广播规则输出 shape 为广播后的 shape两个输入张量的 dtype 必须一致仅支持整数类型int16、int32、int64Golden 实现使用torch.gcd直接计算输出 dtype 与输入保持一致4. 精度要求采用生态算子精度标准进行验证。误差指标平均相对误差MERE采样点中相对误差平均值$$ \text{MERE} \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)\text{1e-7}}) $$最大相对误差MARE采样点中相对误差最大值$$ \text{MARE} \max(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)\text{1e-7}}) $$通过标准数据类型FLOAT16BFLOAT16FLOAT32HiFLOAT32FLOAT8 E4M3FLOAT8 E5M2通过阈值(Threshold)2^-102^-72^-132^-112^-32^-2当平均相对误差 MERE Threshold最大相对误差 MARE 10 * Threshold 时判定为通过。5. 标准 Golden 代码import torch Gcd算子Torch Golden参考实现 计算两个整数的最大公约数 公式: y gcd(x1, x2) def gcd( x1: torch.Tensor, x2: torch.Tensor ) - torch.Tensor: 计算两个整数的最大公约数 公式: y gcd(x1, x2) Args: x1: 第1个输入张量 x2: 第2个输入张量 Returns: 输出张量最大公约数dtype 与输入一致 y torch.gcd(x1, x2) return y6. 额外信息算子调用示例import torch import cann_bench x1 torch.randint(-1000, 1000, (1024, 1024), dtypetorch.int32, devicenpu) x2 torch.randint(-1000, 1000, (1024, 1024), dtypetorch.int32, devicenpu) y cann_bench.gcd(x1, x2) # 广播场景 x1 torch.randint(-100, 100, (2048, 512), dtypetorch.int16, devicenpu) x2 torch.randint(-10, 10, (1, 512), dtypetorch.int16, devicenpu) y cann_bench.gcd(x1, x2)【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考