CANN设备运行时事实
Device and Runtime Facts【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsUse this file for device caps, pipe mappings, supportedauto_sync()pairs, and cross-side mutex signatures. Detailed reasoning still lives in the constraint and pattern pages.DevicesResourcea2 (b3)a5 (950)Cube core count2032L0A64 KB64 KBL0B64 KB64 KBL0C128 KB256 KBUB192 KB per sub-block256 KBL1512 KB512 KBVec sub-blocks per cube core22Source:easyasc/globvars.py(defaults),easyasc/a5.py(overrides).Pipe / op mapping (used byauto_sync())PipeOpsMTE2gm_to_l1_nd2nz,set_constant_to_l1,gm_to_ub_padMTE1l1_to_l0MmmadFIXl0c_to_gm_nz2nd,l0c_to_l1,l0c_to_ubMTE3ub_to_gm_pad,ub_to_l1_nd2nz,ub_to_l1_nzVremaining vec opsSupportedauto_sync()pipe pairs:vec:MTE2 - V(ubin),V - MTE3(ubout)cube:MTE2 - MTE1(l1),MTE1 - M(l0),M - FIX(fix)Important reminders:there is noV - MTE2pairdup()beforegm_to_ub_padis not auto-orderedl0c_to_l1is a real FIX-side republish path, not just a codegen detailpractical consequence: when one matmulsL0Cresult feeds a later cube-side matmul, and the intermediate value does not need vec-side UB math first, prefer directL0C - L1reuse over detouring throughUBDetail:agent/references/constraints/autosync.md.Cross-side mutex patternsa5 cube - vec:CvMutex(src_end_pipePipe.FIX, dst_end_pipePipe.V)a2 cube - vec:CvMutex(src_end_pipePipe.FIX, dst_end_pipePipe.MTE2); requires GM workspace bridgea5 vec - cube:VcMutex(src_end_pipePipe.MTE3, dst_end_pipePipe.FIX)a2 vec - cube: sameVcMutexsignature, but the path still goes through GM workspacePattern references:a2 cube - vec bridge:agent/references/patterns/a2-cube-vec.mda2 vec - cube bridge:agent/references/patterns/a2-cube-vec-cube.md【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考