CANN/asc-devkit Max函数SIMD API文档
# Max【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品支持Kirin X90支持Kirin 9030支持功能说明头文件路径为basic_api/kernel_operator_vec_binary_intf.h。Max属于双目矢量类计算接口负责将输入的两个tensor按元素求最大值。计算公式如下$dst_i max(src0_i, src1_i)$函数原型tensor前n个数据连续计算template typename T __aicore__ inline void Max(const LocalTensorT dst, const LocalTensorT src0, const LocalTensorT src1, const int32_t count)tensor高维切分计算mask逐bit模式template typename T, bool isSetMask true __aicore__ inline void Max(const LocalTensorT dst, const LocalTensorT src0, const LocalTensorT src1, uint64_t mask[], const uint8_t repeatTime, const BinaryRepeatParams repeatParams)mask连续模式template typename T, bool isSetMask true __aicore__ inline void Max(const LocalTensorT dst, const LocalTensorT src0, const LocalTensorT src1, uint64_t mask, const uint8_t repeatTime, const BinaryRepeatParams repeatParams)参数说明表1模板参数说明参数名描述T操作数数据类型。isSetMask是否在接口内部设置mask。• true表示在接口内部设置mask。• false表示在接口外部设置mask开发者需要使用SetVectorMask接口设置mask值。这种模式下接口入参中的mask值设置为占位符MASK_PLACEHOLDER用于占位无实际含义。表2参数说明参数名输入/输出描述dst输出目的操作数。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。地址对齐约束参考通用地址对齐约束。src0、src1输入源操作数。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。地址对齐约束参考通用地址对齐约束。两个源操作数的数据类型需要与目的操作数保持一致。count输入参与计算的元素个数。关于该参数的具体说明请参考连续计算。mask[]/mask输入mask用于控制每次迭代内参与计算的元素。详细设置参考掩码。repeatTime输入重复迭代次数。矢量计算单元每次读取连续的256Bytes数据进行计算为完成对输入数据的处理必须通过多次迭代repeat才能完成所有数据的读取与计算。repeatTime表示迭代的次数。关于该参数的具体说明请参考高维切分。repeatParams输入控制操作数地址步长的参数。BinaryRepeatParams类型包含操作数相邻迭代间相同DataBlock的地址步长操作数同一迭代内不同DataBlock的地址步长等参数。相邻迭代间的地址步长参数说明请参考repeatStride同一迭代内DataBlock的地址步长参数说明请参考dataBlockStride。数据类型针对Ascend 950PR/Ascend 950DTT支持的数据类型为int8_t、uint8_t、int16_t、uint16_t、half、bfloat16_t、int32_t、uint32_t、float、int64_t、uint64_t。数据类型int8_t、uint8_t、int64_t、uint64_t仅支持tensor前n个数据计算接口。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品T支持的数据类型为int16_t、half、int32_t、float。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品T支持的数据类型为int16_t、half、int32_t、float。针对Atlas 200I/500 A2 推理产品T支持的数据类型为int16_t、half、int32_t、float。针对Atlas 推理系列产品AI CoreT支持的数据类型为int16_t、half、int32_t、float。针对Atlas 训练系列产品T支持的数据类型为half、int32_t、float。针对Kirin X90T支持的数据类型为int16_t、half、int32_t、float。针对Kirin 9030T支持的数据类型为int16_t、half、int32_t、float。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。操作数地址重叠约束请参考通用地址重叠约束。当参数count或repeatTime取值为0时该接口的行为如下针对如下型号当参数count或repeatTime取值为0时不会执行计算操作不会对目的操作数进行写入该接口将被视为NOP空操作。Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品针对Ascend 950PR/Ascend 950DT该接口通过VF调用Reg矢量计算API实现兼容当参数count或repeatTime取值为0时软仿行为不保证该接口被视为NOP空操作。对UB空间的占用说明。针对Ascend 950PR/Ascend 950DTtensor高维切分计算占用8KB Unified Buffer。tensor前n个数据连续计算不涉及8KB Unified Buffer的占用。调用示例tensor高维切分计算样例-mask连续模式uint64_t mask 128; // repeatTime 4, 128 elements one repeat, 512 elements total. // dstBlkStride, src0BlkStride, src1BlkStride 1, no gap between blocks in one repeat. // dstRepStride, src0RepStride, src1RepStride 8, no gap between repeats. AscendC::Max(dstLocal, src0Local, src1Local, mask, 4, { 1, 1, 1, 8, 8, 8 });tensor高维切分计算样例-mask逐bit模式uint64_t mask[2] { UINT64_MAX, UINT64_MAX }; // repeatTime 4, 128 elements one repeat, 512 elements total. // dstBlkStride, src0BlkStride, src1BlkStride 1, no gap between blocks in one repeat. // dstRepStride, src0RepStride, src1RepStride 8, no gap between repeats. AscendC::Max(dstLocal, src0Local, src1Local, mask, 4, { 1, 1, 1, 8, 8, 8 });tensor前n个数据计算接口样例AscendC::Max(dstLocal, src0Local, src1Local, 512);结果示例如下输入数据src0Local[1 2 3 ... 512] 输入数据src1Local[513 512 511 ... 2] 输出数据dstLocal[513 512 511 ... 512]【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ChatGPT智能阅读助手Book of Disquiet Reader:文学文本解析与多语言翻译实践

ChatGPT智能阅读助手Book of Disquiet Reader:文学文本解析与多语言翻译实践

这次我们来看一个由 Jason Liu 发布的 ChatGPT 站点项目——Book of Disquiet Reader。这个项目不是传统的聊天机器人界面,而是将 ChatGPT 的能力与文学阅读体验相结合,专门针对《不安之书》(Book of Disquiet)这类深度文本提供智…

2026/7/16 23:24:58阅读更多 →
Git config 配置层级与优先级详解

Git config 配置层级与优先级详解

1. Git配置的三层结构:系统级、全局级与仓库级 第一次接触Git配置时,很多人会被 --system 、 --global 、 --local 这些参数搞得晕头转向。其实这三个层级就像套娃一样,从外到内层层嵌套,每一层都有自己明确的职责范围。 系…

2026/7/16 23:24:58阅读更多 →
C++编程从入门到实践:环境搭建、语法详解与项目实战

C++编程从入门到实践:环境搭建、语法详解与项目实战

C作为一门经久不衰的编程语言,在游戏开发、系统编程、高性能计算等领域占据着重要地位。对于初学者来说,C可能显得有些复杂,但掌握它将为你打开通往底层编程世界的大门。本文将从零开始,带你完成C环境的搭建、基础语法的学习&…

2026/7/16 23:24:58阅读更多 →
软删除 vs 硬删除:MySQL 实现软删除(is_deleted 字段),避免数据丢失

软删除 vs 硬删除:MySQL 实现软删除(is_deleted 字段),避免数据丢失

前言 开发中直接 DELETE 硬删除数据,一旦误删无法恢复,订单、用户、商品等核心业务数据绝对不能物理删除。行业通用方案:软删除(逻辑删除),通过 is_deleted 标记区分有效 / 已删除数据。 一、硬删除&#…

2026/7/17 0:10:02阅读更多 →
MySQL 用户权限管理:创建用户、分配权限,实战操作

MySQL 用户权限管理:创建用户、分配权限,实战操作

前言线上数据库绝对不能直接使用 root 账号给程序连接,权限过大一旦泄露整库沦陷。 本文完整实操:创建账号、授权、回收权限、修改密码、删除用户,适配运维与开发日常操作。一、登录 root 管理员账号mysql -uroot -p二、创建新用户语法-- 格式…

2026/7/17 0:10:02阅读更多 →
零代码私有化自动化AI算法训练服务器DLTM让AI训练人人可用

零代码私有化自动化AI算法训练服务器DLTM让AI训练人人可用

在人工智能快速渗透各行各业的今天,越来越多的企业意识到:拥有贴合自身业务的专属AI模型,已经成为降本增效、构建竞争壁垒的关键。然而,传统AI模型训练门槛极高,需要专业的算法团队、昂贵的算力投入,这让许…

2026/7/17 0:10:02阅读更多 →
北京市发明专利奖如何申报?可获多少奖励?

北京市发明专利奖如何申报?可获多少奖励?

一、核心奖励标准(省部级奖励)该奖项由北京市政府颁发,属于省部级奖励,奖金由市财政列支。特等奖:1项,奖励100万元(授予对本市有重大贡献的发明)。一等奖:5项&#xff0c…

2026/7/17 0:10:02阅读更多 →
深圳市2026年技术先进型服务企业认定申请指南

深圳市2026年技术先进型服务企业认定申请指南

深圳市2026年技术先进型服务企业认定时间:2026年7月16日--2026年8月21日(截至18:00),目前正处于申报窗口期。该认定主要针对从事服务外包、信息技术及知识流程外包的企业,认定后可享受企业所得税按15%税率征收等优惠政…

2026/7/17 0:10:02阅读更多 →
Masstree社区贡献指南:如何参与开源项目开发与代码提交流程

Masstree社区贡献指南:如何参与开源项目开发与代码提交流程

Masstree社区贡献指南:如何参与开源项目开发与代码提交流程 【免费下载链接】masstree A fast and multi-core key-value store, which is used by openGauss-server with MOT enabled. 项目地址: https://gitcode.com/openeuler/masstree 前往项目官网免费下…

2026/7/17 0:05:01阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/16 8:28:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/16 6:53:04阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/16 12:02:41阅读更多 →
VS Code 高效配置与个性化定制全攻略

VS Code 高效配置与个性化定制全攻略

1. VS Code 高效配置基础作为一款轻量级但功能强大的代码编辑器,VS Code 的默认配置已经能满足基本需求,但通过合理调整设置可以大幅提升编码效率。我使用 VS Code 已经有五年多时间,期间尝试过各种配置方案,总结出这套适合大多数…

2026/7/17 0:00:01阅读更多 →
从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

在异常检测领域,很多优秀算法最初都是以研究代码的形式发布的。它们能够在固定测试集上复现实验结果,却不一定能被普通用户直接拿来测试自己的图片。尤其是最近很多算法仅提供在固定测试集的测试环境,而gradio的demo演示也不会提供。 对工程应用和在自己的图片上进行测试来…

2026/7/17 0:00:01阅读更多 →
WinRAR高效配置指南:从基础安装到高级压缩实战

WinRAR高效配置指南:从基础安装到高级压缩实战

前几天帮同事处理一个客户发来的压缩包,解压时系统自带的工具弹出一串乱码,换用 WinRAR 却顺利打开了。这种看似简单的场景,恰恰暴露了不同压缩工具在处理非标准编码、分卷压缩或加密文件时的差异。WinRAR 作为一款老牌工具,真正价…

2026/7/17 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/16 20:13:14阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/16 8:58:42阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/16 17:10:26阅读更多 →