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

ATVOSS默认核配置详解

DefaultKernelConfig

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

功能说明

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

所属头文件链接

/include/elewise/kernel/builder.h

数据结构

struct DefaultKernelConfig { uint32_t blockNum = 1; uint64_t unitNumPerCore = 0; uint64_t moreUnitCoreNum = 0; uint64_t tailNum = 0; uint64_t unitNum = 1; };

数据结构成员说明

成员名称成员类型成员说明默认值
blockNumuint32_t启用的核的数量1
unitNumPerCoreuint64_t平均每个核处理的基本块个数0
moreUnitCoreNumuint64_t核均分后,需要处理额外多出来的基本块的核的数量0
tailNumuint64_t最后一个核要处理的尾块元素数量0
unitNumuint64_t基本块的元素数量1

约束说明

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 // 🔥🔥🔥 使用示例 🔥🔥🔥 >; 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/786253/

相关文章:

  • 2026年AIGemini 3.1 Pro赋能无障碍交互新突破
  • Linux 基础知识有哪些?
  • 算法定价、数据驱动与市场博弈:从个性化定价到算法合谋的风险与应对
  • 开源项目赞助管理平台Sponsio:自托管部署与核心架构解析
  • 2026年当前,杭州浴室柜配件一站式解决方案服务商推荐 - 2026年企业推荐榜
  • Python 爬虫高级实战:网盘资源信息批量爬虫开发
  • CANNOps-Transformer FlashAttention梯度V4
  • 2026年当下,如何精准联系安徽专业除甲醛服务商?一份基于实证的决策参考 - 2026年企业推荐榜
  • 基于Kuramoto模型与CNN的脑电信号同步特征提取与分类方法
  • Pyroclast框架:地球动力学模拟的高性能Python解决方案
  • AI算法在多市场环境下的合谋机制与市场分配策略研究
  • AI驱动分子逆合成:Transformer与扩散模型技术解析与实践
  • Gemini CLI实战指南:从安装配置到自动化工作流
  • ATB RingMLA C++示例
  • Functionary开源模型实战:构建自主可控的AI函数调用智能体
  • 2026年赤峰市养老护理机构权威发布榜/养老护理员 - 品牌策略师
  • MCP测试服务器实战:为AI Agent开发构建安全可控的测试环境
  • 利用AI与MCP协议高效开发与调试Adaptive Cards
  • 为AI助手打造本地音频MCP服务器:实现隐私安全的智能录音与分析
  • CANN/triton-ge-backend性能调优方法论
  • CANN/pyasc向量标量最大值API
  • AI与逻辑回归模型在抗生素耐药性风险预测与临床决策中的应用
  • 10x-Agent-Loop:突破AI编程助手配额限制的智能缓存与调度方案
  • 2026年现阶段,哈尔滨抖音代运营服务商如何选?深度解析哈尔滨翰诺网络科技有限公司 - 2026年企业推荐榜
  • RAG系统交互式调试:从黑盒到白盒的工程实践指南
  • 大模型API聚合服务:一站式解决多模型接入难题
  • 自动驾驶AI算法演进:从规则驱动到数据驱动的工程实践与挑战
  • AI工作流集成:从自动化到智能化的任务处理系统构建
  • AIGC产品可解释性设计:从黑箱魔法到透明协作伙伴
  • 可控RAG智能体:基于确定性图与多层检索的复杂问题求解框架