CANN/asc-devkit AIC与AIV独立运行机制 📅 2026/7/18 10:26:06 AIC和AIV独立运行机制【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能介绍AIC和AIV独立运行机制又称双主模式。在分离模式下区别于MIX模式包含矩阵计算和矢量计算通过消息机制驱动AIC运行双主模式为AIC和AIV独立运行代码不依赖消息驱动开启双主模式能够提高Matmul计算性能。默认情况下双主模式不开启需要通过MatmulConfig中的enableMixDualMaster参数开启。使用场景算子中的矩阵计算和矢量计算相关代码独立运行不依赖消息驱动时可以开启双主模式以提高Matmul计算性能。约束说明该功能仅支持Norm模板和MDL模板。算子核函数的类型为MIX同时AIC核数 : AIV核数为1:1。算子核函数的类型为MIX同时AIC核数 : AIV核数为1:2且A矩阵和B矩阵同时开启IBSHARE参数。同一算子中所有Matmul对象的该参数取值必须保持一致。A、B、Bias矩阵只支持从Global Memory输入。获取矩阵计算结果只支持调用IterateAll接口输出到GlobalTensor即计算结果放置于Global Memory的地址不能调用GetTensorC等接口获取结果。调用示例完整的算子样例请参考开启双主模式的算子样例。// 修改模板参数enableMixDualMastertrueNorm模板开启双主模式MDL模板使用GetMDLConfig接口获取模板参数。 constexpr static MatmulConfig MM_CFG GetNormalConfig(false, false, false, BatchMode::BATCH_LESS_THAN_L1, true, IterateOrder::ORDER_M, ScheduleType::OUTER_PRODUCT, false, true/*enableMixDualMaster*/); MatmulA_TYPE, B_TYPE, C_TYPE, BIAS_TYPE, MM_CFG mm; // 常规Matmul计算 REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); mm.SetBias(gm_bias); mm.IterateAll(gm_c);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考