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

CANN/atvoss默认块配置说明

DefaultBlockConfig

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

功能说明

默认的block层schedule配置参数的数据结构。

所属头文件链接

/include/elewise/block/schedule.h

数据结构

struct DefaultBlockConfig { uint32_t wholeLoop = 0; uint32_t tileCnt = 0; uint32_t basicNum = 0; uint32_t totalElemCnt = 0; };

数据结构成员说明

成员名称成员类型成员说明默认值
wholeLoopuint32_t当前核上tile块的轮询次数0
tileCntuint32_t当前轮询处理的tile块中包含的元素个数,整块tile块时,为00
basicNumuint32_t整块tile块包含的元素个数0
totalElemCntuint32_t当前核上处理的总元素个数0

约束说明

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::DefaultBlockPolicy<TileShape> blockPolicy{TileShape{}}; using ArchTag = Atvoss::Arch::DAV_3510; using BlockOp = Atvoss::Ele::BlockBuilder< AddSubCompute, ArchTag, blockPolicy, // 🔥🔥🔥 使用示例 🔥🔥🔥 Atvoss::Ele::DefaultBlockConfig // 🔥🔥🔥 使用示例 🔥🔥🔥 >; 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),仅供参考

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

相关文章:

  • 结构型设计模式——桥接模式
  • 公平AI与领域知识融合:构建可解释的酒驾风险预测模型
  • 2026年成都水刀配件市场深度横评:力好机械一站式供应解决方案 - 企业名录优选推荐
  • CANN算子基础框架库
  • cherry Studio中配置openClaw教程
  • C 语言11 函数传参与递归
  • CANN元数据定义FrameworkType
  • 全域旅游打破资源壁垒,巨有科技一机游赋能区域文旅高质量发展
  • 语义通信赋能AIGC:基于ControlNet的高效可控图像生成框架解析
  • AI赋能分支定界算法:机器学习如何优化混合整数规划求解效率
  • 构建XAI与人类决策的统一框架:从证据积累到可解释AI实践
  • 昇腾CANN PTO ISA 概述
  • CANN运行时TDT通道基础传输
  • CANN/asnumpy 基准测试
  • AI+SPU-Net:机器人辅助脊柱手术的自动切面规划技术详解
  • CANN/ops-transformer FFA算子设计
  • 5分钟彻底优化魔兽争霸3:解锁高帧率与宽屏支持的完整指南
  • CANN驱动获取设备PCIe信息v2
  • CANN/PTO-ISA同步算法优化
  • 从停机问题到AI责任:技术不可判定性与法律归责的跨界思考
  • CANN/pyasc向上取整函数
  • SMDA扩散(面向线性复杂度长上下文语言建模的序列流形扩散聚合) 下一代 大模型核心模型,有可能取代Transformer架构的自注意力机制
  • LobeHub 这玩意儿,到底香在哪?
  • AI赋能空间天气预报:深度学习预测太阳耀斑的技术实践
  • 你以为AI先裁基层,其实最危险的是中层管理者
  • 基于可解释AI与核形态分析的淋巴瘤辅助诊断系统实践
  • CANN/ops-math掩码填充张量
  • CANN/hcomm获取通道通知数API
  • claude cli 登录403问题
  • CANN π₀.₅模型训练优化说明