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

CANN/runtime CMO缓存操作

11-06 CMO 缓存操作【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 CMOCache Maintenance Operations缓存操作接口用于缓存刷新与失效操作。aclError aclrtMemFlush(void *devPtr, size_t size)将Cache中的数据刷新到DDR中并将Cache中的内容设置成无效。aclError aclrtMemInvalidate(void *devPtr, size_t size)将Cache中的数据设置成无效。aclError aclrtCmoAsync(void *src, size_t size, aclrtCmoType cmoType, aclrtStream stream)实现Device上的Cache内存操作。异步接口。aclError aclrtCmoAsyncWithBarrier(void *src, size_t size, aclrtCmoType cmoType, uint32_t barrierId, aclrtStream stream)实现Device上的Cache内存操作同时携带barrierIdbarrierId表示Cache内存操作的屏障标识。异步接口。aclError aclrtCmoWaitBarrier(aclrtBarrierTaskInfo *taskInfo, aclrtStream stream, uint32_t flag)等待具有指定barrierId的Invalid内存操作任务执行完成。异步接口。aclError aclrtCmoGetDescSize(size_t *size)获取当前Device上的Cache内存描述符占用的内存大小。aclError aclrtCmoSetDesc(void *cmoDesc, void *src, size_t size)设置Cache内存描述符此接口调用完成后会将源内存地址、内存大小记录到Cache内存描述符中。aclError aclrtCmoAsyncWithDesc(void *cmoDesc, aclrtCmoType cmoType, aclrtStream stream, const void *reserve)使用内存描述符二级指针方式操作Device上的Cache内存。异步接口。aclrtMemFlushaclError aclrtMemFlush(void *devPtr, size_t size)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明将Cache中的数据刷新到DDR中并将Cache中的内容设置成无效。该版本不需要用户处理CPU与NPU之间的Cache一致性无需调用该接口。参数说明参数名输入/输出说明devPtr输入要Flush的DDR内存起始地址指针。size输入要Flush的DDR内存大小单位Byte。size不能为0。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtMemInvalidateaclError aclrtMemInvalidate(void *devPtr, size_t size)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明将Cache中的数据设置成无效。该版本不需要用户处理CPU与NPU之间的Cache一致性无需调用该接口。参数说明参数名输入/输出说明devPtr输入需要将其中Cache数据置为无效的DDR内存起始地址指针。size输入DDR内存大小单位Byte。size不能为0。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoAsyncaclError aclrtCmoAsync(void *src, size_t size, aclrtCmoType cmoType, aclrtStream stream)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明实现Device上的Cache内存操作。异步接口。参数说明参数名输入/输出说明src输入待操作的Device内存地址。只支持本Device上的Cache内存操作。size输入待操作的Device内存大小单位Byte。cmoType输入Cache内存操作类型。类型定义请参见aclrtCmoType。当前仅支持ACL_RT_CMO_TYPE_PREFETCH内存预取。stream输入执行内存操作任务的Stream。类型定义请参见aclrtStream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoAsyncWithBarrieraclError aclrtCmoAsyncWithBarrier(void *src, size_t size, aclrtCmoType cmoType, uint32_t barrierId, aclrtStream stream)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT☓Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品☓功能说明实现Device上的Cache内存操作同时携带barrierIdbarrierId表示Cache内存操作的屏障标识。异步接口。参数说明参数名输入/输出说明src输入待操作的Device内存地址。只支持本Device上的Cache内存操作。size输入待操作的Device内存大小单位Byte。cmoType输入Cache内存操作类型。类型定义请参见aclrtCmoType。barrierId输入屏障标识。当cmoType为ACL_RT_CMO_TYPE_INVALID时barrierId有效支持传入大于0的数字配合aclrtCmoWaitBarrier接口使用等待具有指定barrierId的Invalid内存操作任务执行完成。当cmoType为其它值时barrierId固定传0。stream输入执行内存操作任务的Stream。类型定义请参见aclrtStream。此处只支持与模型绑定过的Stream绑定模型与Stream需调用aclmdlRIBindStream接口。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoWaitBarrieraclError aclrtCmoWaitBarrier(aclrtBarrierTaskInfo *taskInfo, aclrtStream stream, uint32_t flag)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT☓Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品☓功能说明等待具有指定barrierId的Invalid内存操作任务执行完成。异步接口。参数说明参数名输入/输出说明taskInfo输入Cache内存操作的任务信息。类型定义请参见aclrtBarrierTaskInfo。任务信息中的cmoType当前仅支持ACL_RT_CMO_TYPE_INVALID。stream输入执行等待任务的Stream。类型定义请参见aclrtStream。此处只支持与模型绑定过的Stream绑定模型与Stream需调用aclmdlRIBindStream接口。flag输入预留参数。当前固定配置为0。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoGetDescSizeaclError aclrtCmoGetDescSize(size_t *size)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明获取当前Device上的Cache内存描述符占用的内存大小。参数说明参数名输入/输出说明size输出Cache内存描述符大小单位Byte。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoSetDescaclError aclrtCmoSetDesc(void *cmoDesc, void *src, size_t size)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明设置Cache内存描述符此接口调用完成后会将源内存地址、内存大小记录到Cache内存描述符中。参数说明参数名输入/输出说明cmoDesc输入Cache内存描述符地址指针。需先调用aclrtCmoGetDescSize接口获取Cache内存描述符所需的内存大小再申请Device内存后例如aclrtMalloc接口将Device内存地址作为入参传入此处。src输入待操作的Device内存地址。只支持本Device上的Cache内存操作。size输入待操作的Device内存大小单位Byte。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCmoAsyncWithDescaclError aclrtCmoAsyncWithDesc(void *cmoDesc, aclrtCmoType cmoType, aclrtStream stream, const void *reserve)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明使用内存描述符二级指针方式操作Device上的Cache内存。异步接口。参数说明参数名输入/输出说明cmoDesc输入Cache内存描述符地址指针Device侧内存地址。此处需先调用aclrtCmoSetDesc接口设置内存描述符再将内存描述符地址指针作为入参传入本接口。cmoType输入Cache内存操作类型。类型定义请参见aclrtCmoType。当前仅支持ACL_RT_CMO_TYPE_PREFETCH内存预取。stream输入执行内存操作任务的Stream。类型定义请参见aclrtStream。reserve输入预留参数。当前固定传NULL。返回值说明返回0表示成功返回其他值表示失败请参见aclError。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/runtime CMO缓存操作

11-06 CMO 缓存操作 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 本章节描述 CMO(Cache Maintenance Operations)缓存操作接口,用于缓存刷新与失效操作。 aclErr…...

Context Harness:本地优先AI知识库引擎,无缝集成Cursor与Claude

1. 项目概述:一个为AI工具打造的本地优先知识库引擎如果你和我一样,日常重度依赖像Cursor、Claude Code这类AI编程助手,那你肯定也遇到过这个痛点:当你想让AI帮你分析一个复杂的私有代码库、查阅公司内部的API文档,或者…...

构建安全多语言代码沙盒:从原理到实践

1. 项目概述:从“Can I Code?”到“Can I Code!”“let-sunny/canicode”这个项目名,初看有点意思。它不像一个传统的工具库或框架,名字里带着一个问句的意味——“我能编码吗?”。这恰恰是很多初学者,甚至是在特定领…...

AI赋能宠物纪念册:Gemini3.1Pro的情感文案术

在 2026 年,AI 的应用场景已经从“写文案、做海报、生成代码”扩展到更细分、更情绪化也更需要边界感的领域。比如宠物殡葬、生命纪念、情感告别、个性化内容定制等场景,过去往往依赖人工经验和手工整理,现在则可以借助 Gemini 3.1 Pro 先完成…...

深度解析next-routes:Next.js早期动态路由解决方案的设计与实现

1. 项目概述:一个被时代铭记的Next.js路由解决方案如果你在2017年到2020年间使用Next.js开发过项目,那么你大概率听说过甚至用过next-routes这个库。在那个Next.js官方路由系统还相对“简陋”的年代,next-routes凭借其Express风格的动态路由定…...

AMCT KV Cache量化配置

KV Cache量化简易配置文件 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct quant_calibration_config_pytorch.proto文件参数说明如下表所示,该文件所在目录为:AMCT安装目录…...

网络安全技术岗怎么选,不止渗透...

网络安全技术岗怎么选,不止渗透… 你真知道网络安全有哪些技术岗吗?不是所有人都去打漏洞,也不是所有人都进红队。 把网络安全行业里常见的技术岗岗位分类职责技术要求面试考点薪资段位都梳理清楚了👇 学习资源 如果你也是零基础…...

CANN/metadef自定义逻辑流分配函数

CustomAllocateStreamPassFn 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef AI处理器支持情况 AI处理器类型 是否支持 Ascend 910C√ Ascend 910B√ 功能说明 注册自定义的逻辑流分配Pass执行函数。 函数原型 P…...

CANN/AMCT大模型FlatQuant量化

AMCT大模型对于LLAMA2/Qwen3的FlatQuant量化 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 1 量化前提 1.1 安装依赖 本sample依赖包可参考requirements.txt 需要注意的是torch_npu包版本需要…...

基于Kuramoto模型与CNN的脑电信号同步特征提取与分类方法

1. 项目概述与核心思路最近在做一个挺有意思的交叉项目,核心是把物理学里的Kuramoto模型和深度学习里的卷积神经网络(CNN)结合起来,去处理脑电信号。听起来有点绕,但说白了,就是想用更“物理”一点的方式&a…...

元宇宙边缘计算AI架构:从资源调度到个性化体验塑造

1. 项目概述:为什么元宇宙需要一种全新的边缘计算AI架构?如果你最近关注过科技新闻,大概率会被“元宇宙”这个词刷屏。它描绘了一个物理与虚拟世界深度融合的未来图景,人们通过扩展现实设备在其中工作、社交、娱乐。然而&#xff…...

从零构建高性能云原生抓取平台:架构、部署与实战指南

1. 项目概述:从零到一构建一个高性能云原生抓取平台最近在折腾一个很有意思的开源项目,叫openperf/openclaw-cloud。乍一看这个名字,可能有点摸不着头脑,但如果你拆解一下,就能发现它的野心不小。“OpenPerf”暗示了其…...

OpenClaw:基于零信任与深度防御的安全AI代理网关架构与实践

1. 项目概述与核心安全理念最近在折腾一个挺有意思的项目,叫 OpenClaw。简单来说,这是一个为 AI 智能体(AI Agent)设计的、带有 SSH 桥接功能的运行平台。它的核心设计理念非常激进,甚至可以说有点“偏执”&#xff1a…...

Spring Boot项目初始化模板:开箱即用的企业级开发脚手架

1. 项目概述与核心价值最近在社区里看到不少朋友在讨论如何快速启动一个Spring Boot项目,特别是对于刚接触这个框架或者需要频繁创建新项目的团队来说,每次从零开始搭建脚手架、配置依赖、设计包结构,都是一件既耗时又容易出错的事情。我自己…...

如何快速搭建高效本地图片搜索引擎:ImageSearch完整实战指南

如何快速搭建高效本地图片搜索引擎:ImageSearch完整实战指南 【免费下载链接】ImageSearch 基于.NET10的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch ImageSearch是一个基于.…...

基于SocialDAO与隐私计算构建性勒索预防援助系统

1. 项目概述与核心问题拆解最近几年,一个令人不安的词汇在数字世界的阴暗角落频繁出现——“性勒索”。它不再是电影里的情节,而是真实发生在普通人身上的数字噩梦。简单来说,性勒索就是利用受害者的私密影像或信息,以公开、传播为…...

AI驱动湍流研究新范式:扩散模型与Transformer在流体力学中的应用

1. 项目概述:当湍流研究遇上AI,一场范式转移正在发生如果你在流体力学、航空航天或者气象预报领域工作过,一定会对“湍流”这两个字又爱又恨。爱的是,它无处不在,从飞机机翼的绕流到大气环流,再到血管内的血…...

CANN/sip Nrm2向量范数算子

Nrm2 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 产品支持情况 产品是否支持Atlas 200I/500 A2 推理产品A…...

AI智能体技能研究:如何高效利用Awesome-Skills-Paper构建个人知识库

1. 项目概述与核心价值最近在整理智能体(Agent)相关的学习资料时,发现了一个非常实用的开源项目——Awesome-Skills-Paper。这个项目本质上是一个经过精心整理的、关于“智能体技能”的学术论文清单。对于任何正在研究或学习AI智能体&#xf…...

CANN/hcomm梯度切分策略设置

set_split_strategy_by_size 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT&#…...

CANN Runtime CntNotify管理API

9. CntNotify管理 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 本章节描述 CANN Runtime 的 CntNotify(计数型通知)管理接口,用于 CntNotify 的创建、记录、等待及…...

AI重塑高等教育:构建人机协同反馈系统与未来技能培养

1. 项目概述:当AI成为课堂的“第三位教师”最近和几位高校的朋友聊天,话题总绕不开一个词:AI。不是那种遥不可及的实验室技术,而是已经渗透到学生作业、论文、甚至课堂讨论里的生成式AI。一位教授朋友给我看了他学生的课程论文&am…...

终极视频PPT提取指南:3步将视频内容秒变PDF讲义

终极视频PPT提取指南:3步将视频内容秒变PDF讲义 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 还在为从冗长视频中手动截图PPT而烦恼吗?🤔 今天我…...

KEEBOX LIST™:开发者资源聚合清单的设计、使用与维护实践

1. 项目概述:一个为开发者打造的“工具箱”清单 如果你和我一样,在软件开发的日常里,经常需要为某个特定任务寻找合适的工具、库或者一份靠谱的教程,那你肯定也经历过那种在搜索引擎和无数个浏览器标签页之间反复横跳的“信息过载…...

利用AI与MCP协议高效开发与调试Adaptive Cards

1. 项目概述:用AI简化Adaptive Cards开发如果你在开发Microsoft Teams机器人、Outlook插件,或者在使用Copilot、Cursor这类AI编程助手时,需要快速生成或调试Adaptive Cards,那么手动编写和验证JSON绝对是个耗时又容易出错的活儿。…...

AI驱动分子逆合成:Transformer与扩散模型技术解析与实践

1. 项目概述:从“拆解”分子到“设计”合成在药物研发、新材料探索乃至精细化工领域,合成化学家们常常面临一个核心挑战:如何高效、经济地合成一个目标分子?这个过程,我们称之为“逆合成分析”。传统的逆合成分析高度依…...

对话式AI如何隐秘引导消费决策:行为心理学实验揭示四大机制

1. 项目概述:一次关于“引导”的深度实验最近几年,对话式AI(比如各种智能客服、语音助手、聊天机器人)已经渗透到我们线上消费的每一个环节。表面上看,它们只是在回答问题、处理订单,或者提供一些建议。但作…...

深度强化学习优化量子比特反馈控制:从DQN原理到实验部署

1. 项目概述与核心价值最近在实验室里折腾一个挺有意思的课题,就是怎么用强化学习去优化量子比特的测量和反馈控制。听起来有点跨界,对吧?量子计算和强化学习,一个在微观世界玩叠加和纠缠,一个在宏观世界搞决策和优化&…...

CANN/sip:AscendSiPBoost信号处理加速库

AscendSiPBoost 信号处理加速库 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 🔥 [2025/10] Asce…...

分布式锁:实现原理与最佳实践

分布式锁:实现原理与最佳实践 核心概念 分布式锁是分布式系统中用于协调多个节点访问共享资源的机制。在分布式环境下,传统的单机锁(如 synchronized、ReentrantLock)无法跨进程工作,需要使用分布式锁来保证数据一致性…...