The course

Intro to SME · 2/5

M=4 · N=4 · K=2 · SVL=128

02 Chapter 1 · inner pipeline

Kernel tour

Four instructions, in the order a GEMM inner loop actually issues them: build the predicate, load a vector, accumulate the outer product, store one slice.

Next walks the four instruction pages that already exist — whilelt, then ld1w, fmopa, and st1w. After the store, the intro continues at the microkernel.

  1. 1 SVE

    WHILELT

    Scalar bounds become a predicate: which lanes are live for this iteration.

    Play this instruction

    whilelt p0.s, x0, x1

  2. 2 SVE

    LD1W

    With that predicate, contiguous words move from memory into a Z register.

    Play this instruction

    ld1w { z0.s }, p0/z, [x0]

  3. 3 SME

    FMOPA

    The column vector and the row vector accumulate an outer product into the ZA tile.

    Play this instruction

    fmopa za0.s, p0/m, p1/m, z0.s, z1.s

  4. 4 SME

    ST1W

    One horizontal slice of ZA is written back to memory.

    Play this instruction

    st1w { za0h.s[w12, 0] }, p0, [x0]