Integrated matrix extension#2
Integrated matrix extension#2joseemoreira wants to merge 3 commits intoriscv:integrated-matrix-extensionfrom
Conversation
| MUL = LMUL / λ², where λ is the K dimension given by the `lambda[2:0]` field in `vtype`. | ||
| The C register group may start at any vector register index. | ||
| Its register group multiplier CMUL is determined by the tile geometry: | ||
| CMUL = VLENE / λ², where λ is the K dimension given by the `lambda[2:0]` field in `vtype`. |
There was a problem hiding this comment.
I suppose you mean "VLEN" not "VLENE"?
There was a problem hiding this comment.
I mean VLENE = VLEN/SEW. Isn't that the right terminology? The shape of the tiles is sigma x lambda, where sigma = VLENE/lambda. The multiplier for C is sigma/lambda, so VLENE/lambda^2. After all, for a given lambda, sigma increases as SEW decreases.
There was a problem hiding this comment.
I can't find VLENE anywhere in the specificatin. It looks like the specification always uses VLEN/SEW to denote the number of elements per single register.
I'll merge with this fixup (i.e., replace VLENE with (VLEN/SEW).
There was a problem hiding this comment.
Indeed, we talk a lot about VLENE but it does not appear in the spec. VLEN/SEW (which is how I would define VLENE) is the preferred (only) form. Thanks for catching this and merging.
| * The _input matrices_ A and B are stored in vector register groups with element width determined by the instruction: | ||
| equal to SEW for non-widening variants, SEW/2 for widening, and SEW/4 for quad-widening variants. | ||
| The K dimension of the multiply equals λ for non-widening instructions, 2λ for widening, and 4λ for quad-widening; LMUL scales the A and B register groups along the K dimension only and does not affect C. | ||
| equal to SEW for non-packing variants, SEW/2 for double-packing, and SEW/4 for quad-packing variants. |
There was a problem hiding this comment.
Can we use widening to describe the abstract operations and have a separate subsection explaining the concept of "packing"? I.e., the instructions will be widening, but the storage-format will be packed?
There was a problem hiding this comment.
Yes, I think that works. The arithmetic is "widening", whereas the storage format is "packed". I saw your other email on that.
d5538c4 to
735ba1d
Compare
|
Manually merged as 305f6aa |
No description provided.