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

CANN/metadef算子平铺构建

Build【免费下载链接】metadefAscend Metadata Definition项目地址: https://gitcode.com/cann/metadef函数功能根据之前的设置构建TilingContext返回一个ContextHolderTilingContext对象。函数原型ContextHolderTilingContext Build()参数说明无返回值说明返回一个 ContextHolderTilingContext对象。通过调用GetContext()方法可获取TilingContext指针。约束说明所有通过指针传入的参数其内存所有权归调用者所有调用者必须确保这些指针在ContextHolder对象的整个生命周期内有效。ContextHolder析构时会自动释放内部上下文资源。请勿手动释放GetContext()返回的指针。调用示例#include base/context_builder/op_tiling_context_builder.h auto workspace_size_holer gert::ContinuousVector::Createsize_t(4096); auto ws_ptr reinterpret_castgert::ContinuousVector *(workspace_size_holer.get()); gert::Shape shape_0{1, 1, 1, 1, 1}; gert::Shape shape_1{10, 10, 10, 10, 20}; gert::Shape shape_2{1, 1, 1, 1, 1}; gert::Shape shape_3{10, 10, 10, 10, 20}; gert::Shape resultShape{10, 10, 10, 10, 20}; gert::StorageShape x({1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}); gert::StorageShape resultIn({10, 10, 10, 10, 20}, {10, 10, 10, 10, 20}); gert::StorageShape gamma({1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}); gert::StorageShape beta({10, 10, 10, 10, 20}, {10, 10, 10, 10, 20}); gert::StorageShape result({10, 10, 10, 10, 20}, {10, 10, 10, 10, 20}); uint8_t data_x[1] {9}; gert::Tensor x_tensor(x, {ge::FORMAT_NCDHW, ge::FORMAT_RESERVED, ExpandDimsType()}, TensorPlacement::kOnHost, ge::DT_FLOAT, (void *) data_x); gert::Tensor resultIn_tensor(resultIn, {ge::FORMAT_NCDHW, ge::FORMAT_RESERVED, ExpandDimsType()}, TensorPlacement::kOnHost, ge::DT_FLOAT, nullptr); gert::Tensor gammax_tensor(gamma, {ge::FORMAT_NCDHW, ge::FORMAT_RESERVED, ExpandDimsType()}, TensorPlacement::kOnHost, ge::DT_FLOAT, nullptr); gert::Tensor beta_tensor(beta, {ge::FORMAT_NCDHW, ge::FORMAT_RESERVED, ExpandDimsType()}, TensorPlacement::kOnHost, ge::DT_FLOAT, nullptr); gert::Tensor result_tensor(result, {ge::FORMAT_NCDHW, ge::FORMAT_RESERVED, ExpandDimsType()}, TensorPlacement::kOnHost, ge::DT_FLOAT, nullptr); uint8_t tmp_compile_info[] XX; // XX代表Fake数据 uint8_t tmp_platform_info[] XX;// XX代表Fake数据 int32_t deterministic 1; OpTilingContextBuilder ctx_builder; auto holder ctx_builder.OpName(tmp) .OpType(DIY) .IONum(4, 1) .AppendAttr(int64_t(1)) .AppendAttr(bool(true)) .AppendAttr(float(0.3)) .AppendAttr(AscendString(my_info)) .AppendAttr(std::vectorbool({true, false, true})) .AppendAttr(std::vectorint64_t({1, 2, 3})) .AppendAttr(std::vectorfloat({0.1, 0.2, 0.3})) .AppendAttr(std::vectorAscendString({123, 234})) .AppendAttr(std::vectorstd::vectorint64_t({{1, 2, 3}, {4, 5, 6}})) .TilingDataSize(100) .Workspace(ws_ptr) .CompileInfo(tmp_compile_info) .Deterministic(deterministic) .PlatformInfo(tmp_platform_info) .InputTensors({x_tensor, resultIn_tensor, gammax_tensor, beta_tensor}) .OutputTensors({result_tensor}) .Build(); auto ctx holder.GetContext(); EXPECT_NE(ctx, nullptr); auto ctx_compute_node_info ctx-GetComputeNodeInfo(); EXPECT_NE(ctx_compute_node_info, nullptr); EXPECT_EQ(ctx-GetCompileInfo(), tmp_compile_info); EXPECT_EQ(ctx-GetInputShape(0)-GetOriginShape(), shape_0); EXPECT_EQ(ctx-GetInputShape(0)-GetStorageShape(), shape_0); EXPECT_EQ(ctx-GetInputTensor(0)-GetAddr(), data_x); EXPECT_EQ(ctx-GetInputTensor(0), x_tensor); EXPECT_EQ(ctx-GetInputTensor(0)-GetStorageShape(), x_tensor.GetStorageShape()); EXPECT_EQ(ctx-GetInputTensor(0)-GetOriginShape(), x_tensor.GetOriginShape()); EXPECT_EQ(ctx-GetInputTensor(0)-GetSize(), x_tensor.GetSize()); EXPECT_EQ(ctx-GetOutputShape(0)-GetOriginShape(), resultShape); EXPECT_EQ(ctx-GetOutputShape(0)-GetStorageShape(), resultShape); EXPECT_EQ(static_castvoid *(ctx-GetWorkspaceSizes(4096)), static_castconst void *(ws_ptr-GetData())); EXPECT_EQ(static_castvoid *(ctx-GetPlatformInfo()), static_castvoid *(tmp_platform_info)); EXPECT_EQ(ctx-GetDeterministic(), deterministic); EXPECT_EQ(static_castvoid *(ctx-GetRawTilingData()), static_castvoid *(tmp_tiling_data.get())); EXPECT_EQ(*(ctx-GetAttrs()-GetInt(0)), 1); EXPECT_EQ(*(ctx-GetAttrs()-GetBool(1)), true); EXPECT_FLOAT_EQ(*(ctx-GetAttrs()-GetFloat(2)), 0.3); auto str_ptr ctx-GetAttrs()-GetStr(3); EXPECT_EQ(strcmp(str_ptr, my_info), 0); auto bool_vec ctx-GetAttrs()-GetAttrPointerTypedContinuousVectorbool(4); EXPECT_EQ(bool_vec-GetData()[0], true); EXPECT_EQ(bool_vec-GetData()[1], false); EXPECT_EQ(bool_vec-GetData()[2], true); EXPECT_EQ(ctx-GetAttrs()-GetListInt(5)-GetData()[0], 1); EXPECT_EQ(ctx-GetAttrs()-GetListInt(5)-GetData()[1], 2); EXPECT_EQ(ctx-GetAttrs()-GetListInt(5)-GetData()[2], 3); EXPECT_FLOAT_EQ(ctx-GetAttrs()-GetListFloat(6)-GetData()[0], 0.1); EXPECT_FLOAT_EQ(ctx-GetAttrs()-GetListFloat(6)-GetData()[1], 0.2); EXPECT_FLOAT_EQ(ctx-GetAttrs()-GetListFloat(6)-GetData()[2], 0.3); auto int_vec_vec ctx-GetAttrs()-GetListListInt(8); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(0)-GetData()))[0], 1); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(0)-GetData()))[1], 2); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(0)-GetData()))[2], 3); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(1)-GetData()))[0], 4); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(1)-GetData()))[1], 5); EXPECT_EQ(((int64_t *) (int_vec_vec-Get(1)-GetData()))[2], 6);【免费下载链接】metadefAscend Metadata Definition项目地址: https://gitcode.com/cann/metadef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/metadef算子平铺构建

Build 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 根据之前的设置&#xff0c;构建TilingContext&#xff0c;返回一个ContextHolder<TilingContext>对象。 函数原型 ContextHolder<TilingC…...

Kubernetes网络模型深度解析与实践

Kubernetes网络模型深度解析与实践 Kubernetes网络概述 Kubernetes网络是容器编排的核心组成部分&#xff0c;它为Pod提供了稳定的网络标识和通信能力。本文将深入探讨Kubernetes网络模型的核心概念、网络插件和最佳实践。 Kubernetes网络核心概念 1. Pod网络模型 ┌───…...

如何用500KB开源工具彻底替代AWCC:AlienFX Tools终极控制指南

如何用500KB开源工具彻底替代AWCC&#xff1a;AlienFX Tools终极控制指南 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 厌倦了Alienware Command Cen…...

CANN/ge函数处理点API

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

开发者专属:用coding-plan打造高效技术学习与自律管理系统

1. 项目概述&#xff1a;一个为开发者量身定制的自律与成长工具如果你和我一样&#xff0c;是一名在代码世界里摸爬滚打的开发者&#xff0c;那你一定对“计划赶不上变化”这句话深有体会。今天想学个新框架&#xff0c;明天要重构旧代码&#xff0c;后天又被临时需求打断。一年…...

CANN hcomm通信内存激活接口

HcclCommActivateCommMemory 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm [!NOTE]说明 本接口为试用接口&#xff0c;后续可…...

生态:智能体与环境的双向塑造 ——为什么超级进化只能是科幻

# 生态&#xff1a;智能体与环境的双向塑造 ## ——为什么超级进化只能是科幻**作者**&#xff1a;归来的星辰 **首发**&#xff1a;知乎&#xff08;2026年4月26日&#xff09; **协议**&#xff1a;CC BY-SA 4.0&#xff08;可自由转载、改编、商业化使用&#xff0c;但须保留…...

CANN/atvoss幂运算接口

Power 【免费下载链接】atvoss ATVOSS&#xff08;Ascend C Templates for Vector Operator Subroutines&#xff09;是一套基于Ascend C开发的Vector算子库&#xff0c;致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。 项目地址: https://…...

CANN / ops-nn GELU算子

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

WeChatPad:解锁微信多设备协同,重塑移动办公边界

WeChatPad&#xff1a;解锁微信多设备协同&#xff0c;重塑移动办公边界 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是否曾在工作与生活之间疲于切换微信账号&#xff1f;是否因微信"手机和平板不…...

混合专家MoE没你想的那么玄乎:拆开GPT-4和DeepSeek V4的核心架构

上周跟一个朋友聊天&#xff0c;他说他在读 MoE 的论文&#xff0c;读了两天没太搞明白。我说你换个角度想——MoE 就像一家大型公司的组织架构。 传统的大模型就像一个全能型员工&#xff0c;一个人啥都得会。MoE 换了个思路&#xff1a;你不是要让一个人啥都会吗&#xff1f;…...

Video DownloadHelper CoApp终极指南:从零开始轻松下载网络视频

Video DownloadHelper CoApp终极指南&#xff1a;从零开始轻松下载网络视频 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp Video DownloadHelper CoApp是Video Down…...

职场人的「深夜困境」:为什么我选择用AI社交平台倾诉

职场五年&#xff0c;我学会了一件事&#xff1a;白天把情绪藏好&#xff0c;晚上一个人消化。白天开会、汇报、对接客户&#xff0c;所有的情绪都要收着。到了晚上&#xff0c;躺在床上&#xff0c;脑子却停不下来。翻来覆去睡不着的时候&#xff0c;你会找谁&#xff1f;我试…...

CANN基础设施机器人使用指南

【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息&#xff0c;包括不限于&#xff1a;会议日程&#xff0c;成员信息&#xff0c;服务文档和配置等信息 项目地址: https://gitcode.com/cann/infrastructure &#x1f680; CANN社区Bot用户…...

CANN/HCCL Ring集合通信算法

Ring 【免费下载链接】hccl 集合通信库&#xff08;Huawei Collective Communication Library&#xff0c;简称HCCL&#xff09;是基于昇腾AI处理器的高性能集合通信库&#xff0c;为计算集群提供高性能、高可靠的通信方案 项目地址: https://gitcode.com/cann/hccl 算法…...

【2026年最新】网安学习路线!最详细没有之一!看了这么多分享网安学习路线的一个详细的都没有!

零基础小白&#xff0c;到就业&#xff01;入门到入土的网安学习路线&#xff01; 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了&#xff01; 我把自己报班的系统学习路线&#xff0c;整理拿出来跟大家分享了&#xff01; 建议的学习顺序&#xff1a; 一、网络安…...

数字电源控制技术:从效率优化到智能管理

1. 数字电源控制技术的革新突破在电力电子领域工作了十五年&#xff0c;我见证了电源技术从模拟控制到数字控制的革命性转变。2007年那场PCIM China展会上&#xff0c;Ericsson展示的数字控制POL稳压器让我至今记忆犹新——它用25.412.7mm的尺寸实现了20A输出&#xff0c;这个尺…...

Tekla 图纸还在人工调?一个项目浪费几十小时,自动调图到底能省多少时间

正文在钢结构深化行业&#xff0c;很多人都以为建模最耗时间。但真正做过项目的人都知道&#xff0c;模型完成之后&#xff0c;真正拖慢交付周期的&#xff0c;往往是图纸后处理。一个典型流程&#xff1a;建模完成 → 自动生成图纸 → 图纸员人工调图 → 校审 → 修改 → 出图…...

CANN工具SIG项目

tools SIG 【免费下载链接】community 本项目是CANN开源社区的核心管理仓库&#xff0c;包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息 项目地址: https://gitcode.com/cann/community 简介 欢迎来到tools SIG&#xff01;我们致力于构建模型压缩和…...

CANN/sip BLAS点积算子文档

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

Dify与Langfuse集成:构建可观测AI应用的全链路实践

1. 项目概述&#xff1a;当Dify遇上Langfuse&#xff0c;如何构建可观测的AI应用 如果你正在用Dify搭建AI应用&#xff0c;那你一定遇到过这样的场景&#xff1a;用户反馈说“昨天那个回答挺好的&#xff0c;今天怎么不行了&#xff1f;”&#xff1b;或者产品经理问你“我们调…...

CANN/CATLASS样例设计文档

CATLASS 样例设计文档 【免费下载链接】catlass 本项目是CANN的算子模板库&#xff0c;提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 本文档汇总当前一些样例的设计思路和代码拆解&#xff0c;读者可按照个人兴趣查阅…...

多模态大模型评测指南:从盲测竞技场到技术选型实战

1. 项目概述&#xff1a;一个开放的多模态模型竞技场如果你最近在关注大模型&#xff0c;尤其是那些能“看懂”图片的视觉语言大模型&#xff0c;那你可能已经发现&#xff0c;各种新模型如雨后春笋般涌现&#xff0c;每个都宣称自己性能卓越。但作为开发者或研究者&#xff0c…...

体验低延迟与高稳定的大模型API调用服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验低延迟与高稳定的大模型API调用服务 在需要与大模型进行高频、连续交互的开发或学习场景中&#xff0c;服务的响应速度和稳定性…...

2026年 自动化缝纫模板机 机器人工作站市场洞察与排名

前言在智能制造浪潮下&#xff0c;模板机机器人工作站成为服装、家纺等行业升级关键。这类设备以高效、精准、稳定等特性&#xff0c;提升生产效率与降低成本。市场上相关品牌与产品众多&#xff0c;为助企业挑选&#xff0c;现从多维度评估并排名。2026 年模板机机器人工作站 …...

CANN/asc-tools NPU检查工具

npu_check 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 Ascend C Tools提供的孪生调试分为debug功能和npu check功能&#xff0c;debug功能包含诸如是否合法使用…...

CANN/PTO-ISA安全说明

安全说明 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platf…...

全域矩阵运营系统分布式任务调度架构设计与工程化落地

摘要随着全域矩阵运营系统的规模化落地&#xff0c;系统需要承载数十万账号的定时内容发布、跨平台数据同步、账号健康巡检、合规风险扫描、运营 SOP 执行等海量、异构、强业务关联的任务场景。通用分布式任务调度框架仅能实现基础的定时任务触发&#xff0c;无法适配矩阵系统多…...

基于改进YOLOv8斑点叉尾鮰鱼损伤检测系统的研究与实现

摘要&#xff1a;斑点叉尾鮰是我国重要的淡水养殖经济鱼类&#xff0c;在高密度集约化养殖过程中&#xff0c;鱼体损伤问题频发&#xff0c;直接影响商品鱼品质和养殖经济效益。传统的鱼体损伤检测主要依赖人工目视判别&#xff0c;存在效率低、主观性强、难以实现批量化检测等…...

昇腾CANN/GE Concat No Task特性分析

Concat No Task 特性分析 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、T…...