From: Andrey Miroshnikov Date: Mon, 6 Nov 2023 23:38:04 +0000 (+0000) Subject: A little bit of clarification based on bug #701 c#13 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dff78c5a215434f15ffb23db2f1174c969079c40;p=libreriscv.git A little bit of clarification based on bug #701 c#13 --- diff --git a/openpower/sv/cookbook/remap_matrix.mdwn b/openpower/sv/cookbook/remap_matrix.mdwn index 46610a7eb..806c0e895 100644 --- a/openpower/sv/cookbook/remap_matrix.mdwn +++ b/openpower/sv/cookbook/remap_matrix.mdwn @@ -11,8 +11,6 @@ Links * REMAP python function based on yield (shows how indices are generated): [[sv/remapyield.py]] -TODO: Include screenshots - One of the most powerful and versatile modes of the REMAP engine (a part of the SVP64 feature set) is the ability to perform matrix multiplication with all elements within a scalar register file. @@ -222,8 +220,14 @@ be possible. ### SVSHAPE Remapping SPRs * See [[sv/remap]] for the full break down of SPRs `SVSHAPE0-3`. +* Pseudo-code for the +[svshape instruction](https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=openpower/isa/simplev.mdwn;h=33a02e#l120) + +Matrix Multiply utilises SVSHAPE0-2 SPRs. + +(NOTE: This section is duplicated from the remap spec, and thus will be re-worked.) -For Matrix Multiply, SHAPE0 SPR is used: +SVSHAPE0 SPR: |0:5 |6:11 | 12:17 | 18:20 | 21:23 |24:27 |28:29 |30:31| |----- |----- | ------- | ------- | ------ |------|------ |---- | @@ -275,7 +279,7 @@ or swap x and y loops). (*NOTE:* This is done automatically by the Matrix-Multiply REMAP mode, `SVRM=0`.) -Limitations of Matrix REMAP are currently: +### Limitations of Matrix REMAP - Vector Length (VL) limited to 127, and up to 127 Multiply-Add Accumulates (MAC), or other operations may be performed in total.