* 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.
### 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|
|----- |----- | ------- | ------- | ------ |------|------ |---- |
(*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.