news 2026/5/9 15:10:18

CANN/cann-bench:Gcd算子API描述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/cann-bench:Gcd算子API描述

Gcd 算子 API 描述

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

1. 算子简介

计算两个整数的最大公约数。

主要应用场景

  • 整数约分与最简分数计算
  • 数组维度对齐与分块策略中的公因子计算
  • 密码学中的模运算与欧几里得算法相关场景

算子特征

  • 难度等级:L2(Broadcast)
  • 双输入单输出,逐元素运算,输入支持广播

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输出 dtype
int16int16
int32int32
int64int64

规则与约束

  • 两个输入张量的 shape 需满足广播规则,输出 shape 为广播后的 shape
  • 两个输入张量的 dtype 必须一致
  • 仅支持整数类型(int16、int32、int64)
  • Golden 实现使用torch.gcd直接计算,输出 dtype 与输入保持一致

4. 精度要求

采用生态算子精度标准进行验证。

误差指标

  1. 平均相对误差(MERE):采样点中相对误差平均值

    $$ \text{MERE} = \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}}) $$

  2. 最大相对误差(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 y

6. 额外信息

算子调用示例

import torch import cann_bench x1 = torch.randint(-1000, 1000, (1024, 1024), dtype=torch.int32, device="npu") x2 = torch.randint(-1000, 1000, (1024, 1024), dtype=torch.int32, device="npu") y = cann_bench.gcd(x1, x2) # 广播场景 x1 = torch.randint(-100, 100, (2048, 512), dtype=torch.int16, device="npu") x2 = torch.randint(-10, 10, (1, 512), dtype=torch.int16, device="npu") y = cann_bench.gcd(x1, x2)

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 15:09:56

XML 映射文件快速生成方案:提升开发效率的利器

在后端开发中&#xff0c;尤其是在使用 MyBatis、Hibernate 等 ORM 框架时&#xff0c;XML 映射文件是不可或缺的一部分。然而&#xff0c;手动编写这些文件往往非常耗时且容易出错&#xff0c;特别是当数据库表结构复杂、字段众多时&#xff0c;这种低效的手工劳动会严重拖慢开…

作者头像 李华
网站建设 2026/5/9 15:07:51

移动端AI推理框架PocketPaw:架构解析与实战部署指南

1. 项目概述&#xff1a;一个为移动端优化的AI模型推理框架最近在移动端AI应用开发圈子里&#xff0c;一个名为PocketPaw的项目开始引起不少开发者的注意。简单来说&#xff0c;PocketPaw是一个专门为移动设备&#xff08;尤其是Android和iOS&#xff09;优化的轻量级AI模型推理…

作者头像 李华
网站建设 2026/5/9 15:07:24

TABDSR框架:表格数据处理与复杂数值推理解决方案

1. TABDSR框架概述TABDSR框架是专门针对表格数据中复杂数值推理问题设计的系统性解决方案。这个框架的名字来源于其三个核心处理阶段&#xff1a;Table decomposition&#xff08;表格分解&#xff09;、Bad data cleaning&#xff08;不良数据清理&#xff09;和Symbolic reas…

作者头像 李华
网站建设 2026/5/9 15:02:40

构建可信AI:XAI评估框架的多维度实践与挑战

1. 项目概述&#xff1a;从“黑箱”到“白箱”的必经之路最近几年&#xff0c;人工智能&#xff0c;特别是深度学习模型&#xff0c;在图像识别、自然语言处理等领域取得了令人瞩目的成就。然而&#xff0c;一个日益凸显的挑战是&#xff1a;这些模型往往以“黑箱”的形式运作。…

作者头像 李华
网站建设 2026/5/9 15:01:33

基于GRU与注意力机制的ICU多重耐药菌感染风险预测模型构建与应用

1. 项目概述与核心价值在重症监护室&#xff08;ICU&#xff09;里&#xff0c;时间就是生命&#xff0c;而感染则是悬在患者和医生头顶的达摩克利斯之剑。其中&#xff0c;多重耐药菌&#xff08;MDRO&#xff09;感染更是让临床治疗陷入困境的“硬骨头”——常规抗生素无效&a…

作者头像 李华
网站建设 2026/5/9 14:58:19

CANN/ge DataFlow C++接口参考

DataFlow构图接口参考&#xff08;C&#xff09; 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。…

作者头像 李华