asc.language.adv.Matmul.iterate_all
【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc
Matmul.iterate_all(tensor: BaseTensor, en_atomic: int = 0, sync: bool = True, en_sequential_write: bool | None = None, wait_iterate_all: bool | None = None, fake_msg: bool | None = None) → None
调用一次iterate_all,会计算出singleCoreM * singleCoreN大小的C矩阵。
对应的Ascend C函数原型
template <bool sync = true> __aicore__ inline void IterateAll(const GlobalTensor<DstT>& gm, uint8_t enAtomic = 0, bool enSequentialWrite = false, bool waitIterateAll = false, bool fakeMsg = false)template <bool sync = true> __aicore__ inline void IterateAll(const LocalTensor<DstT>& ubCmatrix, uint8_t enAtomic = 0)参数说明
- tensor: C矩阵,类型为GlobalTensor或LocalTensor。
- en_atomic: 是否开启Atomic操作,默认值为0。
- sync: 设置同步或者异步模式。
- en_sequential_write: 是否开启连续写模式,仅支持输出到Global Memory场景。
- wait_iterate_all: 是否需要通过wait_iterate_all接口等待iterate_all执行结束,仅支持异步输出到Global Memory场景。
- fake_msg: 仅在IBShare场景和IntraBlockPartSum场景使用,仅在支持输出到Global Memory场景。
约束说明
- 传入的C矩阵地址空间大小需要保证不小于single_core_m * single_core_n个元素。
调用示例
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),仅供参考