(no commit message)
authorlkcl <lkcl@web>
Sun, 16 Apr 2023 10:32:44 +0000 (11:32 +0100)
committerIkiWiki <ikiwiki.info>
Sun, 16 Apr 2023 10:32:44 +0000 (11:32 +0100)
openpower/sv/remap/appendix.mdwn

index 8c67325ab1c1821ea80335e83f7eccf97d7f815c..7e6945e85b31fb7f4f49a833e68560a0dff65a11 100644 (file)
@@ -98,7 +98,7 @@ If the programmer can find any algorithm
 which has identical triple nesting then the FFT Schedule may be
 used even there.
 
 which has identical triple nesting then the FFT Schedule may be
 used even there.
 
-# 4x4 Matrix to vec4 Multiply Example
+# 4x4 Matrix to vec4 Multiply (4x4 by 1x4)
 
 The following settings will allow a 4x4 matrix (starting at f8), expressed
 as a sequence of 16 numbers first by row then by column, to be multiplied
 
 The following settings will allow a 4x4 matrix (starting at f8), expressed
 as a sequence of 16 numbers first by row then by column, to be multiplied
@@ -140,14 +140,14 @@ equivalent sequence thus is issued:
     fmac f7, f3, f23, f7
 ```
 
     fmac f7, f3, f23, f7
 ```
 
-The only other instruction required is to ensure that f4-f7 are
-initialised (usually to zero).
+Hardware should easily pipeline the above FMACs and as long as each FMAC
+completes in 4 cycles or less there should be 100% sustained throughput,
+from the one single Vector FMAC.
 
 
-It should be clear that a 4x4 by 4x4 Matrix Multiply, being effectively
-the same technique applied to four independent vectors, can be done by
-setting VL=64, using an extra dimension on the SHAPE0 and SHAPE1 SPRs,
-and applying a rotating 1D SHAPE SPR of xdim=16 to f8 in order to get
-it to apply four times to compute the four columns worth of vectors.
+The only other instruction required is to ensure that f4-f7 are
+initialised (usually to zero) however obviously if used as part
+of some other computation, which is frequently the case, then
+clearly the zeroing is not needed.
 
 [[!tag standards]]
 
 
 [[!tag standards]]