CANN/pyasc IBShare模板配置
asc.language.adv.get_ib_share_norm_config【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyascasc.language.adv.get_ib_share_norm_config(intrinsics_limit: bool | None False, batch_loop: bool | None False, is_vec_nd2_nz: bool | None False, bmm_mode: BatchMode | None BatchMode.BATCH_LESS_THAN_L1, is_double_cache: bool | None False, en_unit_flag: bool | None True) → MatmulConfig用于配置IBShare模板的参数获取自定义IBShare模板。对应的Ascend C函数原型__aicore__ constexpr MatmulConfig GetIBShareNormConfig(const bool intrinsicsLimit false, const bool batchLoop false, const bool isVecND2NZ false, const BatchMode bmmMode BatchMode::BATCH_LESS_THAN_L1, const bool isDoubleCache false, const bool enUnitFlag true)参数说明intrinsics_limit: 用于设置参数intrinsicsCheck。参数取值如下False当左矩阵或右矩阵在单核上内轴大于等于65535时不使能循环执行数据的搬入默认值。True当左矩阵或右矩阵在单核上内轴大于等于65535时使能循环执行数据的搬入。bmm_mode: 用于设置参数batchMode。参数取值如下batchMode::BATCH_LESS_THAN_L1多batch数据总和L1 Buffer Size。batchMode::BATCH_LARGE_THAN_L1多batch数据总和L1 Buffer Size。batchMode::SINGLE_LARGE_THAN_L1单batch数据总和L1 Buffer Size。batch_loop: 用于设置参数isNBatch。参数取值如下False不使能多Batch默认值。True使能多Batch。is_vec_nd2_nz: 用于设置参数enVecND2NZ。参数取值如下False不使能通过vector指令进行ND2NZ默认值。True使能通过vector指令进行ND2NZ。is_double_cache: 用于设置参数enableDoubleCache。参数取值如下FalseL1 Buffer上同时缓存一块数据默认值。True使能L1 Buffer上同时缓存两块数据。en_unit_flag: 用于设置参数enUnitFlag。参数取值如下False不使能UnitFlag功能。True使能UnitFlag功能。返回值说明MatmulConfig结构体。调用示例mm_cfg asc.adv.get_ib_share_norm_config() mm asc.adv.Matmul(a_type, b_type, c_type, bias_type, mm_cfg) asc.adv.register_matmul(pipe, workspace, mm, tiling) mm.set_tensor_a(gm_a) mm.set_tensor_b(gm_b) mm.set_bias(gm_bias) mm.iterate_all(gm_c)【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考