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

CANN/asc-devkit SetDim函数文档

SetDim

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

功能说明

设置多核Matmul时,参与运算的核数。不同场景下的设置规则如下:

  • 纯Cube模式(只有矩阵计算)

    SetDim设置当前AI处理器可用的核数,通过Tiling计算得到执行Matmul计算实际使用的核数,实际使用的核数小于等于AI处理器可用的核数。SetBlockDim按照实际使用的核数由用户进行配置,SetBlockDim加载的核全部用于Matmul API的计算。

  • MIX模式(包含矩阵计算和矢量计算)

    • 分离模式:Matmul API都是从AIV侧发起的,调用Iterate计算时在AIV侧只会起到通知的作用,通知AIC去做矩阵计算,计算完成后AIC告知AIV计算完成,在开发者层面感知的是AIV的核数,SetDim设置为当前AI处理器可用的AIV核的数量,通过Tiling计算得到实际使用的AIV核数。SetBlockDim设置为实际使用的AI Core(AIC、AIV组合)的数量。例如,SetDim设置为40,表示可以使用40个AIV核发起多核Matmul运算,Tiling计算得到实际使用的AIV核数是20。当前AI处理器的AIC:AIV为1:2,则SetBlockDim设置为10,表示实际使用10个AI Core(AIC AIV的组合)。
    • 耦合模式:SetDim设置当前AI处理器可用的核数,通过Tiling计算得到实际使用的核数,实际使用的核数小于等于AI处理器可用的核数。SetBlockDim按照实际使用的核数由用户进行配置,SetBlockDim加载的核全部用于Matmul API的计算。

函数原型

int32_t SetDim(int32_t dim)

参数说明

表1参数说明

参数名输入/输出描述
dim输入多核Matmul tiling计算时,可以使用的核数。注意,MIX模式下,该参数取值小于等于耦合模式下启动的AICore核数或者分离模式下启动的AIV核数。

返回值说明

-1表示设置失败; 0表示设置成功。

约束说明

调用示例

auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); tiling.SetDim(1); // 设置参与运算的核数 tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetShape(1024, 1024, 1024); tiling.SetSingleShape(1024, 1024, 1024); tiling.SetOrgShape(1024, 1024, 1024); tiling.SetBias(true); tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret = tiling.GetTiling(tilingData);

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

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

相关文章:

  • PIC18F2550与LP5812实现RGB LED灯光效果控制
  • 深度解析nunif:如何高效实现2D视频到VR 3D格式的专业转换
  • 国家中小学智慧教育平台电子课本下载工具:三步获取高清PDF教材的终极指南
  • 如何用OpCore Simplify在10分钟内完成黑苹果EFI配置:技术架构深度解析
  • SillyTavern企业级AI对话前端架构设计与部署策略
  • 微信聊天记录永久保存终极指南:3分钟掌握数据主权
  • 【Springboot毕设全套源码+文档】基于springboot社区协作与资源共享系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 完全掌控微信聊天记录:三步实现永久保存与智能分析的终极指南
  • 2023最新MACS3完全指南:从安装到ChIP-Seq峰值检测的完整流程
  • 从安装到发布:Zotero Plugin Template全流程开发实战教程
  • Video2X:如何用AI魔法让模糊视频重现高清记忆
  • OpenCV 4.8.0 Canny 算子实战:3种阈值比与 3x3/5x5/7x7 核尺寸对边缘完整度影响对比
  • 如何永久保存微信聊天记录:终极个人数据资产管理指南
  • 如何快速自定义启动界面:Ventoy主题个性化终极教程
  • Sunshine游戏流媒体主机:如何快速搭建你的私有云游戏服务器
  • 如何3步完成国家中小学智慧教育平台电子课本下载:面向教师和学生的完整指南
  • Catch2 C++测试框架:现代单元测试的终极实战指南
  • CUPS打印系统架构解析:企业级开源打印解决方案的技术实现
  • 如何10分钟内完成黑苹果配置:OpCore Simplify自动化工具完全指南
  • CANN队列模型推理
  • 终极指南:如何用RAG-Anything一键升级你的AI知识库系统
  • Citra模拟器终极指南:3步快速搭建你的3DS游戏世界
  • 三步免费获取国家中小学智慧教育平台电子课本PDF:教师必备的高效工具指南
  • TM4C129ENCZAD微控制器与SLO2016工业通信应用解析
  • 如何永久保存你的数字记忆:WeChatMsg聊天记录完整备份终极指南
  • 如何用Python轻松读取通达信数据:新手量化分析完整指南
  • 鸣潮自动化工具终极指南:如何5分钟实现游戏全自动?
  • PingFangSC字体包:如何实现跨平台中文字体一致性渲染的6种解决方案
  • 一文读懂chat0 API:构建自定义AI对话应用的终极指南
  • Google Maps iOS Utils热力图渲染指南:数据可视化与交互式地图设计终极教程