asc.language.adv.Matmul.get_batch_tensor_c【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyascMatmul.get_batch_tensor_c(batch_a: int, batch_b: int, en_sequential_write: bool False, sync: bool True) → GlobalTensorMatmul.get_batch_tensor_c(tensor: LocalTensor, batch_a: int, batch_b: int, en_sequential_write: bool False, sync: bool True) → None调用一次get_batch_tensor_c会获取C矩阵片该接口可以与iterate_n_batch异步接口配合使用。 用于在调用iterate_n_batch迭代计算后获取一片std::max(batch_a, batch_b) * singleCoreM * singleCoreN大小的矩阵分片。对应的Ascend C函数原型template bool sync true __aicore__ inline GlobalTensorDstT GetBatchTensorC(uint32_t batchA, uint32_t batchB, bool enSequentialWrite false)template bool sync true __aicore__ inline void GetBatchTensorC(const LocalTensorDstT c, uint32_t batchA, uint32_t batchB, bool enSequentialWrite false)参数说明batch_a: 左矩阵的batch数。batch_b: 右矩阵的batch数。en_sequential_write: 该参数预留开发者无需关注。tensor: C矩阵放置于Local Memory的地址用于保存矩阵分片。约束说明当使能MixDualMaster双主模式场景时即模板参数enableMixDualMaster设置为true不支持使用该接口。C矩阵片输出到Local Memory且单核计算的N方向大小single_core_n非32字节对齐的场景C矩阵的CubeFormat仅支持ND_ALIGN格式输出C矩阵片时自动将single_core_n方向上的数据补齐至32字节。调用示例for_extent tiling.a_layout_info_b * tiling.a_layout_info_n * g_lay // tiling.batch_num mm.set_tensor_a(gm_a, is_transpose_a_in) mm.set_tensor_b(gm_b, is_transpose_b_in) if tiling.is_bias: mm.set_bias(gm_bias) mm.iterate_n_batch(for_extent, batch_a, batch_b, False, syncFalse) # ...其他计算 for i in range(for_extent): mm.get_batch_tensor_c(tensorub_cmatrix, syncFalse)【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/pyasc矩阵乘法批处理张量获取
asc.language.adv.Matmul.get_batch_tensor_c【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyascMatmul.get_batch_tensor_c(batch_a: int, batch_b: int, en_sequential_write: bool False, sync: bool True) → GlobalTensorMatmul.get_batch_tensor_c(tensor: LocalTensor, batch_a: int, batch_b: int, en_sequential_write: bool False, sync: bool True) → None调用一次get_batch_tensor_c会获取C矩阵片该接口可以与iterate_n_batch异步接口配合使用。 用于在调用iterate_n_batch迭代计算后获取一片std::max(batch_a, batch_b) * singleCoreM * singleCoreN大小的矩阵分片。对应的Ascend C函数原型template bool sync true __aicore__ inline GlobalTensorDstT GetBatchTensorC(uint32_t batchA, uint32_t batchB, bool enSequentialWrite false)template bool sync true __aicore__ inline void GetBatchTensorC(const LocalTensorDstT c, uint32_t batchA, uint32_t batchB, bool enSequentialWrite false)参数说明batch_a: 左矩阵的batch数。batch_b: 右矩阵的batch数。en_sequential_write: 该参数预留开发者无需关注。tensor: C矩阵放置于Local Memory的地址用于保存矩阵分片。约束说明当使能MixDualMaster双主模式场景时即模板参数enableMixDualMaster设置为true不支持使用该接口。C矩阵片输出到Local Memory且单核计算的N方向大小single_core_n非32字节对齐的场景C矩阵的CubeFormat仅支持ND_ALIGN格式输出C矩阵片时自动将single_core_n方向上的数据补齐至32字节。调用示例for_extent tiling.a_layout_info_b * tiling.a_layout_info_n * g_lay // tiling.batch_num mm.set_tensor_a(gm_a, is_transpose_a_in) mm.set_tensor_b(gm_b, is_transpose_b_in) if tiling.is_bias: mm.set_bias(gm_bias) mm.iterate_n_batch(for_extent, batch_a, batch_b, False, syncFalse) # ...其他计算 for i in range(for_extent): mm.get_batch_tensor_c(tensorub_cmatrix, syncFalse)【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考