当前位置: 首页 > article >正文

CANN/asc-devkit ReduceMax API参考

ReduceMax【免费下载链接】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 推理系列产品√功能说明对一个多维向量在指定的维度求最大值。定义指定计算的维度Reduce轴为R轴非指定维度Normal轴为A轴。如下图所示对shape为(2, 3)的二维矩阵进行运算指定在第一维求最大值输出结果为[4, 5, 6]指定在第二维求最大值输出结果为[3, 6]。图 1ReduceMax按第一个维度计算示例![](https://raw.gitcode.com/cann/asc-devkit/raw/f35dfef9af78af31a0418d6061f7969c5ffc6990/docs/api/context/figures/ReduceMax按第一个维度计算示例.png ReduceMax按第一个维度计算示例?utm_sourcegitcode_repo_files)图 2ReduceMax按最后一个维度计算示例![](https://raw.gitcode.com/cann/asc-devkit/raw/f35dfef9af78af31a0418d6061f7969c5ffc6990/docs/api/context/figures/ReduceMax按最后一个维度计算示例.png ReduceMax按最后一个维度计算示例?utm_sourcegitcode_repo_files)函数原型通过sharedTmpBuffer入参传入临时空间template class T, class pattern, bool isReuseSource false __aicore__ inline void ReduceMax(const LocalTensorT dstTensor, const LocalTensorT srcTensor, const LocalTensoruint8_t sharedTmpBuffer, const uint32_t srcShape[], bool srcInnerPad)接口框架申请临时空间template class T, class pattern, bool isReuseSource false __aicore__ inline void ReduceMax(const LocalTensorT dstTensor, const LocalTensorT srcTensor, const uint32_t srcShape[], bool srcInnerPad)由于该接口的内部实现中涉及复杂的数学计算需要额外的临时空间来存储计算过程中的中间变量。临时空间支持开发者通过sharedTmpBuffer入参传入和接口框架申请两种方式。通过sharedTmpBuffer入参传入使用该tensor作为临时空间进行处理接口框架不再申请。该方式开发者可以自行管理sharedTmpBuffer内存空间并在接口调用完成后复用该部分内存内存不会反复申请释放灵活性较高内存利用率也较高。接口框架申请临时空间开发者无需申请但是需要预留临时空间的大小。通过sharedTmpBuffer传入的情况开发者需要为tensor申请空间接口框架申请的方式开发者需要预留临时空间。临时空间大小BufferSize的获取方式如下通过GetReduceMaxMaxMinTmpSize中提供的接口获取需要预留空间范围的大小。参数说明表 1模板参数说明参数名描述T操作数的数据类型。Ascend 950PR/Ascend 950DT支持的数据类型为int8_t、uint8_t、int16_t、uint16_t、half、bfloat16_t、int32_t、uint32_t、float、int64_t、uint64_t。Atlas A3 训练系列产品 / Atlas A3 推理系列产品支持的数据类型为half、float。Atlas A2 训练系列产品 / Atlas A2 推理系列产品支持的数据类型为half、float。pattern用于指定ReduceMax计算轴包括Reduce轴和Normal轴。pattern由与向量维度数量相同的A、R字母组合形成字母A表示Normal轴R表示Reduce轴。例如AR表示对二维向量进行ReduceMax计算第一维是Normal轴第二维是Reduce轴即对第二维数据求最大值。pattern是定义在AscendC::Pattern::Reduce命名空间下的结构体其成员变量用户无需关注。pattern当前只支持取值为AR和RA。isReuseSource是否允许修改源操作数默认值为false。如果开发者允许源操作数被改写可以使能该参数使能后能够节省部分内存空间。设置为true则本接口内部计算时复用src的内存空间节省内存空间设置为false则本接口内部计算时不复用src的内存空间。isReuseSource的使用样例请参考更多样例。表 2接口参数说明参数名输入/输出描述dstTensor输出目的操作数。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。srcTensor输入源操作数。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。源操作数的数据类型需要与目的操作数保持一致。sharedTmpBuffer输入临时缓存。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。用于ReduceMax内部复杂计算时存储中间变量由开发者提供。临时空间大小BufferSize的获取方式请参考GetReduceMaxMaxMinTmpSize。srcShape输入uint32_t类型的数组表示源操作数的shape信息。该shape的维度必须和模板参数pattern的维度一致例如pattern为AR该shape维度只能是二维。Ascend 950PR/Ascend 950DT当前只支持二维shape。Atlas A3 训练系列产品 / Atlas A3 推理系列产品当前只支持二维shape。Atlas A2 训练系列产品 / Atlas A2 推理系列产品当前只支持二维shape。srcInnerPad输入表示实际需要计算的最内层轴数据是否32Bytes对齐。Ascend 950PR/Ascend 950DT该参数预留。接口内由参数srcShape和pattern计算最内层轴数据是否32Bytes对齐。Atlas A3 训练系列产品 / Atlas A3 推理系列产品当前只支持true。Atlas A2 训练系列产品 / Atlas A2 推理系列产品当前只支持true。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。不支持源操作数与目的操作数地址重叠。不支持sharedTmpBuffer与源操作数和目的操作数地址重叠。调用示例AscendC::LocalTensorfloat dstLocal outQueue.AllocTensorfloat(); AscendC::LocalTensorfloat srcLocal inQueue.DeQuefloat(); AscendC::LocalTensoruint8_t tmp tbuf.Getuint8_t(); uint32_t shape[] { 2, 8 }; constexpr bool isReuse true; AscendC::ReduceMaxfloat, AscendC::Pattern::Reduce::AR, isReuse(dstLocal, srcLocal, tmp, shape, true);结果示例如下输入输出的数据类型为float 输入数据(src): [[ 0.0 4.0 2.0 0.0 -1.0 2.0 -1.0 7.0], [ 0.0 1.0 -9.0 2.0 2.0 2.0 8.0 3.0]] 输入patternAR 输入shape(2,8) 输出数据(dst): [7.0 8.0]【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/asc-devkit ReduceMax API参考

ReduceMax 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...

跨平台光标同步工具:技术原理、实现与多屏开发效率优化

1. 项目概述:一个为开发者量身定制的光标同步工具 如果你和我一样,经常需要在多台显示器、多个IDE窗口,甚至是远程桌面和本地环境之间来回切换,那么你一定对“找光标”这件事深恶痛绝。尤其是在进行代码对比、调试或者多屏幕协作时…...

华为CANN GE动态宽高获取API

aclmdlGetDynamicHW 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Tensor…...

HYMiniMall项目配置详解:从开发环境到生产环境的完整部署

HYMiniMall项目配置详解:从开发环境到生产环境的完整部署 【免费下载链接】HYMiniMall 小程序商场项目 项目地址: https://gitcode.com/gh_mirrors/hy/HYMiniMall HYMiniMall是一个功能完善的小程序商场项目,本文将详细介绍如何从开发环境到生产环…...

face-recognition.js 模型训练与保存:构建可复用的人脸识别系统

face-recognition.js 模型训练与保存:构建可复用的人脸识别系统 【免费下载链接】face-recognition.js Simple Node.js package for robust face detection and face recognition. JavaScript and TypeScript API. 项目地址: https://gitcode.com/gh_mirrors/fa/f…...

XUnity.AutoTranslator完整指南:如何为Unity游戏添加智能实时翻译功能

XUnity.AutoTranslator完整指南:如何为Unity游戏添加智能实时翻译功能 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而无法享受心爱的Unity游戏?或者作为…...

Yeti社区插件生态解析:如何利用现有资源快速扩展平台功能

Yeti社区插件生态解析:如何利用现有资源快速扩展平台功能 【免费下载链接】yeti Your Everyday Threat Intelligence 项目地址: https://gitcode.com/gh_mirrors/ye/yeti Yeti作为一款强大的威胁情报平台(Your Everyday Threat Intelligence&…...

CANN/asc-devkit Reset函数说明

Reset 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...

终极指南:如何在Windows上轻松模拟游戏控制器 - ViGEmBus驱动完整教程

终极指南:如何在Windows上轻松模拟游戏控制器 - ViGEmBus驱动完整教程 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过这样的困…...

ARM TPIU调试架构原理与时钟同步技术解析

1. ARM TPIU架构与调试跟踪原理在嵌入式系统开发中,实时跟踪调试能力是诊断复杂问题的关键。Trace Port Interface Unit (TPIU)作为ARM CoreSight调试架构的核心组件,承担着将芯片内部多源跟踪数据可靠传输到外部分析设备的重要职责。其设计难点在于如何…...

system24高级功能探索:透明背景、模糊效果和自定义窗口控制

system24高级功能探索:透明背景、模糊效果和自定义窗口控制 【免费下载链接】system24 a tui-style discord theme 项目地址: https://gitcode.com/gh_mirrors/sy/system24 system24是一款tui风格的Discord主题,它通过简约的设计和强大的自定义功…...

AI原生推理为何卡在42ms?:SITS 2026实测揭示KV Cache压缩、FlashAttention-3适配与CUDA Graph动态融合的黄金三角

更多请点击: https://intelliparadigm.com 第一章:AI原生性能优化:SITS 2026 LLM推理加速实战技巧 在 SITS 2026 基准测试框架下,LLM 推理延迟与显存带宽利用率成为关键瓶颈。AI 原生优化并非简单套用传统 CUDA kernel 调优策略&…...

开源技能学习资源聚合项目SkillPort:构建个人与团队知识库的实践指南

1. 项目概述:一个技能提升的“私人图书馆”最近在整理自己的学习资料库时,发现了一个挺有意思的项目,叫gotalab/skillport。乍一看这个名字,可能会联想到某个商业学习平台,但实际上,这是一个由开发者社区构…...

见素抱朴的 SAP UI5 开发之道, 从「绝圣弃智」到少代码、少炫技、少内耗的前端工程

《道德经》第十九章说, 「绝圣弃智,民利百倍;绝仁弃义,民复孝慈;绝巧弃利,盗贼无有。此三者以为文不足。故令有所属,见素抱朴,少私寡欲。」通行本的这段文字,最容易被误读成反知识、反技术、反规范。放到 SAP UI5 开发里,这种误读尤其危险。SAP UI5 本来就是一个工程…...

从绝圣弃智到少造机关,老子这一句放进 SAP HANA 开发里,讲的是把聪明收回到模型、数据和执行计划本身

在 SAP HANA 项目里,最容易让团队误判的场景,往往不是某个开发人员不会写 SQL,也不是不会建 Calculation View,而是大家太相信自己的聪明。一个销售分析报表慢了,开发人员立刻想写一段复杂的 SQLScript;一个库存可用量计算不准,团队又想加一层临时表;一个财务口径有争议…...

绝巧弃利之后,ABAP 才回到可升级的常道

老子说「绝圣弃智,民利百倍;绝仁弃义,民复孝慈;绝巧弃利,盗贼无有」。这句话放到 SAP ABAP 开发里,不能理解成不要知识、不要规范、不要技巧。ABAP 项目从来离不开知识,也离不开严密的工程纪律。它真正提醒我们的是,当一个系统过度崇拜个人聪明、过度依赖补救式道德、过…...

在「唯」与「阿」之间安放计算之道,老子这句话给 SAP HANA 开发的一层提醒

「唯之与阿,相去几何?美之与恶,相去若何?人之所畏,不可不畏。荒兮,其未央哉!」放在 SAP HANA 开发里看,不是把古文硬贴到技术上,而是在提醒我们,很多工程判断看起来差别很小,落到系统运行里却会拉开很大的距离。一个 JOIN 写在 application server,还是下推到 data…...

BepInEx IL2CPP启动失败终极解决指南:从异常诊断到游戏正常运行

BepInEx IL2CPP启动失败终极解决指南:从异常诊断到游戏正常运行 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx作为Unity游戏插件框架,为玩家和开发…...

IPBan快速入门:一键安装配置,立即阻止僵尸网络入侵

IPBan快速入门:一键安装配置,立即阻止僵尸网络入侵 【免费下载链接】IPBan Since 2011, IPBan is the worlds most trusted, free security software to block hackers and botnets. With both Windows and Linux support, IPBan has your dedicated or …...

CANN Ascend C uint32转bfloat16函数

__uint2bfloat16_rd 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://git…...

StofDoctrineExtensionsBundle的IpTraceable扩展:自动记录用户IP地址的简单实现指南 [特殊字符]

StofDoctrineExtensionsBundle的IpTraceable扩展:自动记录用户IP地址的简单实现指南 🚀 【免费下载链接】StofDoctrineExtensionsBundle Integration bundle for DoctrineExtensions by l3pp4rd in Symfony 项目地址: https://gitcode.com/gh_mirrors/…...

Java源码分析:`ReentrantLock`、`ReentrantReadWriteLock`与`LockSupport`深度解析

引言:从synchronized到可编程的锁 在Java并发编程的世界里,synchronized关键字曾是开发者控制线程同步的唯一选择。它简单、易用,并由JVM保证其正确性。然而,随着应用复杂度的提升,其固有的局限性——如无法中断、无法…...

Java源码学习:深入剖析Java的concurrent包源码之`ReentrantLock` 的精妙设计与云原生演进

引言:从 synchronized 到可编程的锁 在 Java 并发编程的演进史上,synchronized 关键字曾是开发者控制线程同步的唯一选择。它简单、易用,并由 JVM 保证其正确性。然而,随着应用复杂度的提升,其固有的局限性——如无法中…...

CANN/ops-nn快速层归一化算子

aclnnFastLayerNorm 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系…...

Seraphine:英雄联盟玩家的智能数据助手,三步解锁游戏信息优势

Seraphine:英雄联盟玩家的智能数据助手,三步解锁游戏信息优势 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 在英雄联盟的竞技世界中,信息就是力量。Seraphine是一款基于英…...

GE模型加载卸载API

模型加载和卸载 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…...

CANN/Ascend C SetDilation API文档

SetDilation 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.co…...

CANN/Ascend C量化模式设置API

SetDequantType 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode…...

CANN/ops-nn自适应平均池化3D反向计算

aclnnAdaptiveAvgPool3dBackward 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 产品支持情况 📄 查看源码 产品是否支持Ascend 950PR/Ascend 950DT√…...

CANN/asc-devkit:设置单核输出形状API

SetSingleOutputShape 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://g…...