AIC和AIV独立运行机制
功能介绍
AIC和AIV独立运行机制,又称双主模式。在分离架构下,区别于MIX模式(包含矩阵计算和矢量计算)通过消息机制驱动AIC运行,双主模式为AIC和AIV独立运行代码,不依赖消息驱动,使能双主模式能够提高Matmul计算性能。默认情况下,双主模式不使能,需要通过MatmulConfig中的enableMixDualMaster参数开启。
使用场景
算子中的矩阵计算和矢量计算相关代码独立运行,不依赖消息驱动时,可以开启双主模式,以提高Matmul计算性能。
约束说明
调用示例
1 2 3 4 5 6 7 8 9 10 |
// 修改模板参数enableMixDualMaster=true,Norm模板开启双主模式,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*/); Matmul<A_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); |
父主题: 特性场景