Skip to content

Commit ac53588

Browse files
authored
Merge pull request #3070 from madeline-underwood/multi
Enhance image descriptions for clarity in matrix multiplication docum…
2 parents 1b4cf25 + d6ee00b commit ac53588

4 files changed

Lines changed: 5 additions & 4 deletions

File tree

content/learning-paths/cross-platform/multiplying-matrices-with-sme2/1-get-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ You are now all set to start hacking with SME2.
127127

128128
Targeting an Android phone means you will have to cross-compile the code examples using Android's NDK. The easiest way is to install [Android Studio](https://developer.android.com/studio) on your system, then in `Android Studio` go to `Tools` > `SDK manager` in the menu, then select the `SDK Tools` tab and tick `NDK (Side by side)` as show in the picture below:
129129

130-
![NDK installation alt-text#center](ndk_install.png "Figure 1: NKK installation.")
130+
![Screenshot of Android Studio SDK Manager showing the SDK Tools tab with the NDK (Side by side) checkbox selected. This demonstrates the installation step required to enable Android NDK for cross-compiling SME2 code examples to target Android phones with SME2 support.#center](ndk_install.png "Figure 1: NKK installation.")
131131

132132
Locate where the NDK has been installed on your machine and save the location to an `NDK` environment variable for use later when building the code examples. For example, on macOS, at the time of writing, the NDK is located in `/Users/$USER/Library/Android/sdk/ndk/29.0.14206865`:
133133

@@ -299,7 +299,7 @@ Then select the **Reopen in Container** menu entry as shown below.
299299

300300
It automatically finds and uses `.devcontainer/devcontainer.json`:
301301

302-
![VSCode Docker alt-text#center](vscode.png "Figure 1: Setting up the Docker container.")
302+
![Screenshot of VS Code showing the Reopen in Container menu option in the Remote Explorer sidebar. The interface demonstrates how VS Code detects the devcontainer.json configuration file and enables seamless Docker container-based development for SME2 emulation without manual Docker invocations.#center](vscode.png "Figure 1: Setting up the Docker container.")
303303

304304
All your commands now run within the container, so there is no need to prepend
305305
them with a Docker invocation, as VS Code handles all this seamlessly for you.

content/learning-paths/cross-platform/multiplying-matrices-with-sme2/4-vanilla-matmul.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The algorithm works by iterating over each row of A and each column of B. It mul
2323

2424
The diagram below shows how matrix C is computed by iterating over rows of A and columns of B:
2525

26-
![Standard Matrix Multiplication alt-text#center](matmul.png "Figure 2: Standard matrix multiplication.")
26+
![Diagram showing standard matrix multiplication where matrix C is computed by iterating over each row of matrix A and each column of matrix B. For each element in C, the algorithm multiplies corresponding elements from A's row and B's column, then sums the products. This illustrates the O(n³) triple-nested loop structure of the vanilla algorithm.#center](matmul.png "Figure 2: Standard matrix multiplication.")
2727

2828
This implies that the A, B, and C matrices have some constraints on their
2929
dimensions:

content/learning-paths/cross-platform/multiplying-matrices-with-sme2/5-outer-product.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The diagram below illustrates how the matrix multiplication of `matLeft` (3 rows
2828
columns) by `matRight` (2 rows, 3 columns) can be decomposed into a sum of column-by-row outer
2929
products:
3030

31-
![example image alt-text#center](outer_product.png "Figure 3: Outer product-based matrix multiplication.")
31+
![Diagram showing outer product-based matrix multiplication decomposition. The illustration demonstrates how multiplying matLeft (3x2) by matRight (2x3) can be expressed as a sum of column-by-row outer products, which improves the MAC-to-load ratio. This decomposition is fundamental to SME2's efficient matrix multiplication approach.#center](outer_product.png "Figure 3: Outer product-based matrix multiplication.")
3232

3333
The SME engine builds on the [Outer
3434
Product](https://en.wikipedia.org/wiki/Outer_product) because matrix

content/learning-paths/cross-platform/multiplying-matrices-with-sme2/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Accelerate Matrix Multiplication Performance with SME2
3+
description: Learn how to implement and optimize matrix multiplication using Arm's Scalable Matrix Extension 2 (SME2) with assembly and intrinsics, including benchmarking and validation on Arm hardware.
34

45
minutes_to_complete: 60
56

0 commit comments

Comments
 (0)