(no commit message)
authorlkcl <lkcl@web>
Thu, 7 Jul 2022 09:11:04 +0000 (10:11 +0100)
committerIkiWiki <ikiwiki.info>
Thu, 7 Jul 2022 09:11:04 +0000 (10:11 +0100)
openpower/sv/remap.mdwn

index bc67a847c260110cd8aca97a1554cd3ae538facf..57f13f5564130c8376d5feda2ad795360c968fcc 100644 (file)
@@ -112,7 +112,23 @@ and briefly goes over their characteristics and limitations.
 
 ## Matrix (1D/2D/3D shaping)
 
-TODO
+Matrix Multiplication is a huge part of High-Performance Compute,
+and 3D.
+In many PackedSIMD as well as Scalable Vector ISAs, non-power-of-two
+Matrix sizes are a serious challenge. PackedSIMD ISAs, in order to
+cope with for example 3x4 Matrices, recommend rolling data-repetition and loop-unrolling.
+Aside from the cost of the load on the L1 I-Cache, the trick only
+works if one of the dimensions X or Y are power-two. Prime Numbers
+(5x7, 3x5) become deeply problematic to unroll.
+
+Even traditional Scalable Vector ISAs have issues with Matrices, often
+having to perform data Transpose by pushing out through Memory and back,
+or computing Transposition Indices (costly) then copying to another
+Vector (costly).
+
+Matrix REMAP was thus designed to solve these issues by providing
+"Schedules" that can view what would otherwise be limited to a strictly
+linear Vector as instead being 2D (even 3D) in-place reordered.
 
 ## FFT/DCT Triple Loop