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

CANN/atvoss默认内核调度策略

DefaultKernelSchedule

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

功能说明

默认的kernel层schedule调度策略,实现完全继承BaseKernelSchedule的能力,根据DefaultKernelConfig的切分参数配置,实现kernel层级的调度逻辑。

所属头文件链接

/include/elewise/kernel/schedule.h

函数原型

template <typename BlockOp, const auto& Policy, typename ScheduleCfg> class DefaultKernelSchedule : public BaseKernelSchedule<BlockOp, Policy, ScheduleCfg>

参数说明

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

返回值说明

返回值数据类型返回值说明
DefaultKernelSchedule返回默认的kernel层schedule调度策略

约束说明

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); }; }; static constexpr Atvoss::Ele::DefaultKernelPolicy kernelPolicy{Atvoss::Ele::DefaultSegmentPolicy::UniformSegment}; using ArchTag = Atvoss::Arch::DAV_3510; using BlockOp = Atvoss::Ele::BlockBuilder<AddSubCompute, ArchTag>; using KernelOp = Atvoss::Ele::KernelBuilder< BlockOp, kernelPolicy, Atvoss::Ele::DefaultKernelConfig, // 🔥🔥🔥 使用示例 🔥🔥🔥 Atvoss::Ele::DefaultKernelSchedule // 🔥🔥🔥 使用示例 🔥🔥🔥 >; 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),仅供参考

http://www.jsqmd.com/news/784313/

相关文章:

  • 2026年常州热缩管源头厂家深度指南:新能源汽车线束防护与轨道交通阻燃解决方案对标 - 企业名录优选推荐
  • AI时代DDoS防御新范式:区块链协同、智能蜜罐与后量子密码实战
  • 开箱即用!Gemma-3-12B-IT WebUI一键部署与使用指南
  • 南昌及周边风格百搭实木家具品牌选型技术解析 - 资讯焦点
  • Gofile下载器终极指南:快速高效获取Gofile文件资源
  • AI模型公平性实战:从偏见根源到工业级缓解方案
  • CANN/cann-bench 分组矩阵乘量化融合算子评测
  • CANN/HCOMM线程通知记录API
  • 2026年湖州干洗店大测评:权威榜单揭晓哪家强 - 速递信息
  • CANN/amct压缩概念详解
  • 学习日记DAY41
  • 2026 北京老酒回收第三方实测:5 大权威商家榜单出炉,京诚酒行 99.7 分领跑 - 资讯焦点
  • Pandas数据分析避坑指南:用Hampel Filter优雅处理金融时间序列里的‘毛刺’
  • 动态思维链与并行强化学习在自动定理证明中的应用
  • CANN/ops-cv三点插值反向传播算子
  • 构建企业算法审查委员会:从公平性评估到全生命周期治理
  • 教育AI信任构建:以透明度与可解释性化解多利益相关者冲突
  • CANN/sip信号插值示例
  • mex元数据提取库:从原理到实战的Python自动化信息抽取指南
  • 2026年厦门汽车洗美店加盟哪家靠谱?一站式赋能+托管运营权威清单 - 资讯焦点
  • 带有embeding 同时训练的Lora 权重合并,合并后的权重的模型,再训练数的Loss 突然增加
  • 如何免费获取网盘直链:八大主流网盘下载助手完整使用教程
  • 硬件补贴、软件盈利:互联网商业模式的再次轮回?——从软件测试视角看生态闭环与质量博弈
  • Voxtral-4B-TTS-2603部署案例:AI初创公司构建语音内容工厂,日均生成5000+分钟语音
  • CANN/hixl性能基准测试
  • 机器人潜在运动建模技术:提升工业自动化精度
  • 无轨道PD门:重新定义建筑空间通行的技术解析与行业趋势 - 资讯焦点
  • AI文献综述工具评估:性能、可用性与透明度三维度解析
  • 数据要素化与资产化:个人和企业的数据如何产生价值?
  • Phi-4-mini-reasoning 3.8B 网络协议分析助手:智能化解读与故障模拟