Both GMEM and SMEM sides must be sliced to the same rank for cute.copy. K (QK MMA B-partition): slice [(None,None,0,0)] keeps modes 0,1 - mode 1 = GMEM iteration, indexed by kvh.count V (PV MMA B-partition): slice [(None,0,None,0)] keeps modes 0,2 - mode 2 = GMEM iteration, indexed by kvh.count Q: only 1 tile, (None,0,None,0) hardcode is fine.