(no commit message)
authorlkcl <lkcl@web>
Mon, 5 Sep 2022 12:27:18 +0000 (13:27 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 5 Sep 2022 12:27:18 +0000 (13:27 +0100)
openpower/sv/remap.mdwn

index 6232c2230efa83331bd946b1c499d64b9d1a94df..04f5546bfb586137e5f8f60424cf207c1f7b32a0 100644 (file)
@@ -48,7 +48,7 @@ latency, so should realistically be used only where it is worthwhile.
 Commonly-used patterns such as Matrix Multiply, DCT and FFT have
 helper instruction options which make REMAP easier to use.
 
-There are three types of REMAP:
+There are four types of REMAP:
 
 * **Matrix**, also known as 2D and 3D reshaping, can perform in-place
   Matrix transpose and rotate.
@@ -56,12 +56,20 @@ There are three types of REMAP:
   Power-2 RADIX
 * **Indexing**, for any general-purpose reordering, also includes
   limited 2D reshaping.
+* **Parallel Reduction**, for scheduling a sequence of operations
+  in a Deterministic fashion, in a way that may be parallelised,
+  to reduce a Vector down to a single value.
 
 Best implemented on top of a Multi-Issue Out-of-Order Micro-architecture,
 REMAP Schedules are 100% Deterministic **including Indexing** and are
 designed to be incorporated in between the Decode and Issue phases,
 directly into Register Hazard Management.
 
+Parallel Reduction is unusual in that it requires a full vector array
+of results (not a scalar) and uses the rest of the result Vector for
+the purposes of storing intermediary results.  *As these intermediary
+results are Deterministically computed they may be useful*.
+
 # Basic principle
 
 * normal vector element read/write of operands would be sequential