From: Andrey Miroshnikov Date: Mon, 6 Nov 2023 16:08:33 +0000 (+0000) Subject: Worked example pictures X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec354c22512c8d7ba90ee86b2a566bff198cb045;p=libreriscv.git Worked example pictures --- diff --git a/openpower/sv/cookbook/inner_product_worked_example.jpg b/openpower/sv/cookbook/inner_product_worked_example.jpg new file mode 100644 index 000000000..3a9070144 Binary files /dev/null and b/openpower/sv/cookbook/inner_product_worked_example.jpg differ diff --git a/openpower/sv/cookbook/outer_product_worked_example.jpg b/openpower/sv/cookbook/outer_product_worked_example.jpg new file mode 100644 index 000000000..cd7b9b234 Binary files /dev/null and b/openpower/sv/cookbook/outer_product_worked_example.jpg differ diff --git a/openpower/sv/cookbook/remap_matrix.mdwn b/openpower/sv/cookbook/remap_matrix.mdwn index 5defbcdd0..ad876e51d 100644 --- a/openpower/sv/cookbook/remap_matrix.mdwn +++ b/openpower/sv/cookbook/remap_matrix.mdwn @@ -124,6 +124,9 @@ Index list: | 5 | 5 | 3 | ``` +Worked example broken down into individual multiply-add accumulates: + +[[!img outer_product_worked_example.jpg size="600x ]] The issue with this algorithm is that the result matrix element is the same for three consecutive operations, and where each element is stored in CPU @@ -163,6 +166,10 @@ Index list: | 5 | 5 | 3 | ``` +Worked example for inner product: + +[[!img inner_product_worked_example.jpg size="600x ]] + The index for the result matrix changes with every operation, and thus the consecutive multiply-add instruction doesn't depend on the previous write register.