news 2026/5/10 2:01:38

ATVOSS KernelBuilder类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ATVOSS KernelBuilder类

KernelBuilder

【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss

功能说明

kernel层对象构建类,负责创建kernel层对象,kernel层对象包含kernel层policy和kernel层调度。

所属头文件链接

/include/elewise/kernel/builder.h

函数原型

template <typename BlockOp, const auto &Policy = defaultKernelPolicy, typename ScheduleCfg = DefaultKernelConfig, template <typename, const auto&, typename> class Schedule = DefaultKernelSchedule> class KernelBuilder

参数说明

参数名称参数类型输入/输出数据类型参数说明默认值
BlockOp模板参数输入NAblock层对象类型,跟kernel层是被包含关系NA
Policy模板参数输入NAkernel层的用户静态策略类型DefaultKernelPolicy
ScheduleCfg模板参数输入NAkernel层调度配置类型DefaultKernelConfig
Schedule模板参数输入NAkernel层调度类型DefaultKernelSchedule

返回值说明

返回值数据类型返回值说明
KernelBuilder返回kernel层对象

约束说明

NA

使用示例

template <typename InputDtype, typename OutputDtype> struct AddSubConfig { struct AddSubCompute { template <template <typename> class Tensor> __host_aicore__ constexpr auto Compute() const { auto in1 = Atvoss::PlaceHolder<1, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto in2 = Atvoss::PlaceHolder<2, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto in3 = Atvoss::PlaceHolder<3, InputDtype, Atvoss::ParamUsage::IN>(); auto out = Atvoss::PlaceHolder<4, Tensor<OutputDtype>, Atvoss::ParamUsage::OUT>(); return (out = in1 + in2 - in3); }; }; using ArchTag = Atvoss::Arch::DAV_3510; using BlockOp = Atvoss::Ele::BlockBuilder<AddSubCompute, ArchTag>; // 🔥🔥🔥 使用示例 🔥🔥🔥 using KernelOp = Atvoss::Ele::KernelBuilder<BlockOp>; // 🔥🔥🔥 使用示例 🔥🔥🔥 using DeviceOp = Atvoss::DeviceAdapter<KernelOp>; }; template <typename InputDtype, typename OutputDtype> static void Run() { /* ACL init and stream create */ ... Atvoss::Tensor<InputDtype> in1(deviceIn1, {{3, 4, 0, 0, 0, 0, 0, 0}}, 2); Atvoss::Tensor<InputDtype> in2(deviceIn2, {{3, 4, 0, 0, 0, 0, 0, 0}}, 2); InputDtype in3 = 5.0; Atvoss::Tensor<OutputDtype> out(deviceOut, {{3, 4, 0, 0, 0, 0, 0, 0}}, 2); auto arguments = Atvoss::ArgumentsBuilder{}.inputOutput(in1, in2, in3, out).attr("dim", 5).build(); using DeviceOp = typename AddSubConfig<InputDtype, OutputDtype>::DeviceOp; DeviceOp deviceOp; deviceOp.Run(arguments, stream); } int main(int argc, char const* argv[]) { Run<float, float>(); return 0; }

【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss

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

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

2026年VR交互展示实测:避坑TOP5品牌排行榜推荐

《2026年长三角数字视觉服务行业用户体验报告》数据显示&#xff0c;超过65%的企业在采购VR交互展示方案时踩过坑&#xff0c;要么效果差强人意&#xff0c;要么预算超支严重。本文结合团队实测与行业调研&#xff0c;发布一份真实、无滤镜的VR交互展示品牌排行榜&#xff0c;帮…

作者头像 李华
网站建设 2026/5/10 1:48:30

多模态大模型技术架构与工业应用解析

1. 多模态大模型的技术架构解析多模态大模型&#xff08;Multimodal Large Language Models, MLMs&#xff09;代表了当前人工智能领域最前沿的技术突破。与传统单一模态的大语言模型&#xff08;LLMs&#xff09;相比&#xff0c;MLMs通过整合视觉、听觉等多种感知通道&#x…

作者头像 李华
网站建设 2026/5/10 1:47:29

CANN/Graph-autofusion超级内核

SuperKernel 【免费下载链接】graph-autofusion Graph-autofusion 是一个面向昇腾&#xff08;Ascend&#xff09;芯片的轻量级、解耦式组件集合&#xff0c;旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件&#xff0c;未来将持续开放更多自动融合相关模块。…

作者头像 李华
网站建设 2026/5/10 1:43:31

AI编程助手如何对抗能力错觉?agentic-learning技能包实战指南

1. 项目概述&#xff1a;一个能让你真正学会编程的AI伙伴 如果你用过Cursor、Claude Code或者GitHub Copilot这类AI编程助手&#xff0c;大概率有过这样的体验&#xff1a;你抛出一个问题&#xff0c;它瞬间给你一段完美的代码。你复制粘贴&#xff0c;程序跑起来了&#xff0…

作者头像 李华
网站建设 2026/5/10 1:40:48

城市更新×智慧治理:老旧小区改造中的数字化创新实践

城市更新&#xff0c;是当前新型城镇化建设的重要议题。而在城市更新的众多项目中&#xff0c;老旧小区改造是最贴近民生、影响最广泛的工程之一。然而&#xff0c;老旧小区改造面临着"改什么、怎么改、谁来管"的灵魂三问——居民需求分散、资金来源有限、改造后缺乏…

作者头像 李华
网站建设 2026/5/10 1:40:43

CANN学习中心AReaL昇腾实践

AReaL 昇腾实践手册 【免费下载链接】cann-learning-hub CANN 学习中心仓&#xff0c;支持在线互动运行、边学边练&#xff0c;提供教程、示例与优化方案&#xff0c;一站式助力昇腾开发者快速上手。 项目地址: https://gitcode.com/cann/cann-learning-hub 本实践将呈现…

作者头像 李华