Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
bfbbfad
Merge pull request #1 from chrismoroney/cmoroney-github-workflow-updates
chrismoroney Oct 22, 2025
542e11a
Update multi-architecture nginx documentation for clarity and consist…
madeline-underwood Nov 7, 2025
e513b53
Merge branch 'ArmDeveloperEcosystem:main' into azure
madeline-underwood Nov 7, 2025
cc65bf9
Merge branch 'ArmDeveloperEcosystem:main' into azure
madeline-underwood Nov 8, 2025
a24dbaf
Update title and improve clarity in multi-architecture nginx document…
madeline-underwood Nov 8, 2025
398a207
Merge branch 'azure' of https://github.com/madeline-underwood/arm-lea…
madeline-underwood Nov 8, 2025
a3f8795
Merge branch 'ArmDeveloperEcosystem:main' into azure
madeline-underwood Nov 10, 2025
f7579f2
Merge branch 'ArmDeveloperEcosystem:main' into azure
madeline-underwood Nov 11, 2025
f4bada9
Update _index.md
madeline-underwood Nov 11, 2025
ffcf145
Update stats_current_test_info.yml
madeline-underwood Nov 11, 2025
b9a3929
fix: standardize nginx references and improve documentation clarity a…
madeline-underwood Nov 11, 2025
28569ff
Update intro.md
pareenaverma Nov 11, 2025
f86d25b
Update intro.md
pareenaverma Nov 11, 2025
590c44b
Merge pull request #2536 from pareenaverma/content_review
pareenaverma Nov 11, 2025
2af6563
Update _index.md
pareenaverma Nov 11, 2025
5b2bf1e
Update deploy.md
pareenaverma Nov 11, 2025
bf6c173
Merge pull request #2520 from madeline-underwood/azure
jasonrandrews Nov 11, 2025
1b34e40
[fix]: fix env issues with vLLM int4 acceleration LP
nikhil-arm Nov 11, 2025
ebd09aa
Merge pull request #2534 from madeline-underwood/patch-38
jasonrandrews Nov 11, 2025
5f69614
Update baseline.md
pareenaverma Nov 11, 2025
5f454bb
Update baseline.md
pareenaverma Nov 11, 2025
1813e48
Update benchmarking.md
pareenaverma Nov 11, 2025
acb85d7
Update benchmarking.md
pareenaverma Nov 11, 2025
24b5390
Update benchmarking.md
pareenaverma Nov 11, 2025
d0db28e
Merge pull request #2538 from pareenaverma/content_review
pareenaverma Nov 11, 2025
ae72523
Add image resizing workflow and first pass (for review)
annietllnd Oct 27, 2025
96357b8
Incorporate Doug's feedback and adding another pass
annietllnd Nov 5, 2025
7db21ed
Scale quality depending on image size
annietllnd Nov 5, 2025
aaa866d
Handle edge-case with additional sed call
annietllnd Nov 6, 2025
c056e85
LARGE CHANGE: convert large images to .webp
annietllnd Nov 11, 2025
f328bcc
Enable lossless conversion and adjust quality scaling
annietllnd Nov 11, 2025
83bda2d
Address feedback from Zach
annietllnd Nov 11, 2025
a80bb77
Merge pull request #2537 from nikhil-arm/vllm_int4_fix
pareenaverma Nov 11, 2025
1e8c667
Update 1-overview-and-build.md
pareenaverma Nov 11, 2025
94f7259
Merge branch 'ArmDeveloperEcosystem:main' into main
chrismoroney Nov 12, 2025
cf7250e
Updated _index.d
pareenaverma Nov 12, 2025
9ce3c65
Update _index.md
pareenaverma Nov 12, 2025
6e55860
Update 1-overview-and-build.md
pareenaverma Nov 12, 2025
27311af
Update 1-overview-and-build.md
pareenaverma Nov 12, 2025
f2235bf
Update 2-quantize-model.md
pareenaverma Nov 12, 2025
1586346
Merge pull request #2535 from ArmDeveloperEcosystem/update-stats-curr…
jasonrandrews Nov 12, 2025
db39c52
spacing for tables
chrismoroney Nov 12, 2025
6345817
Merge pull request #2509 from annietllnd/resize-images
pareenaverma Nov 12, 2025
059f10f
Update 2-quantize-model.md
pareenaverma Nov 12, 2025
d9fca9d
Update 3-run-inference-and-serve.md
pareenaverma Nov 12, 2025
e66bd01
Update 3-run-inference-and-serve.md
pareenaverma Nov 12, 2025
b755e12
Update 1-overview-and-build.md
pareenaverma Nov 12, 2025
db0058c
Merge branch 'ArmDeveloperEcosystem:main' into content_review
pareenaverma Nov 12, 2025
c7cf14a
Merge pull request #2540 from pareenaverma/content_review
pareenaverma Nov 12, 2025
bbb4355
Tech review of Streamline kernel module LP
annietllnd Nov 5, 2025
9940ff6
Move streamline-kernel-module to embedded category
annietllnd Nov 13, 2025
3bdf83b
Fix uppecase image name
annietllnd Nov 14, 2025
082f312
Merge pull request #2543 from annietllnd/yahyaA-arm/main
pareenaverma Nov 14, 2025
7d7fc97
[feat]: add vllm accuracy benchmarking flow
nikhil-arm Nov 14, 2025
973e202
updates based on 11/14 sync-up
chrismoroney Nov 14, 2025
cfea245
Merge pull request #2539 from chrismoroney/main
pareenaverma Nov 14, 2025
239951a
Merge pull request #2544 from nikhil-arm/vllm_accuracy_comparison
pareenaverma Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .github/workflows/resize-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Resize Images
# A weekly run to resize images that changed in the last week

on:
schedule:
- cron: "0 9 * * 1" # every Monday at 09:00 UTC
workflow_dispatch:

jobs:
resize-images:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch full history to compare with last week

- name: Get changed image files from last week
id: changed-files
run: |
# Find all image files that changed since last Monday
CHANGED_IMAGES=$(git log --since="7 days ago" --name-only --pretty="" \
-- '*.jpg' '*.jpeg' '*.png' '*.JPG' '*.JPEG' '*.PNG' | sort -u | tr '\n' ' ')

echo "changed_images=$CHANGED_IMAGES" >> $GITHUB_OUTPUT
echo "Changed images: $CHANGED_IMAGES"

# Set a flag if any images were changed
if [ -n "$CHANGED_IMAGES" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

- name: Install ImageMagick
run: sudo apt-get update && sudo apt-get install -y imagemagick

- name: Run tools/resize_images.sh on changed files
if: steps.changed-files.outputs.has_changes == 'true'
run: |
# Pass the changed image files to the resize script
bash tools/resize_images.sh ${{ steps.changed-files.outputs.changed_images }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
if: steps.changed-files.outputs.has_changes == 'true' && success()
with:
commit-message: Resize images changed in the last week
title: Resize images changed in the last week
body: |
Resize images that were modified in the last week (Monday to Monday)

Changed files: ${{ steps.changed-files.outputs.changed_images }}

Triggered by workflow run ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Auto-generated by create-pull-request: https://github.com/peter-evans/create-pull-request
branch: resize-images
base: main
5 changes: 3 additions & 2 deletions assets/css/content.css
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,14 @@ html[theme="dark"] div.markdown-content-div > div.code-tabpane {
--ads-horizontal-tabs-tab-content-background-color: var(--arm-color-surface);
}


/*
div.markdown-content-div > table {
width: max-content; /* No full-length tables unless there is a reason */
width: max-content;
margin-top: 16px;
margin-left: 16px;
margin-bottom: 24px;
}
*/
html[theme="light"] div.markdown-content-div > table tbody { background-color: var(--arm-white); }
html[theme="dark"] div.markdown-content-div > table tbody { background-color: var(--arm-color-base); }

Expand Down
1 change: 1 addition & 0 deletions assets/css/cross-page.css
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ html[theme="dark"] .minhang-mist-text {
.table-wrapper-for-overflow {
width: 100%;
overflow-x: auto;
margin-top: 24px;
}


Expand Down
Binary file removed content/install-guides/_images/aperf.png
Binary file not shown.
Binary file added content/install-guides/_images/aperf.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed content/install-guides/_images/aperf0.png
Binary file not shown.
Binary file added content/install-guides/_images/aperf0.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed content/install-guides/_images/xfce4.png
Binary file not shown.
Binary file added content/install-guides/_images/xfce4.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions content/install-guides/aperf.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ There are a number of tabs on the left side showing the collected data.

You can browse the data and see what has been collected.

![APerf #center](/install-guides/_images/aperf0.png)
![APerf #center](/install-guides/_images/aperf0.webp)

{{% notice Note %}}
The Kernel Config and Sysctl Data tabs are blank unless you click No.
Expand Down Expand Up @@ -142,7 +142,7 @@ Open the `index.html` file in the `compare/` directory to see the 2 runs side by

A screenshot is shown below:

![APerf #center](/install-guides/_images/aperf.png)
![APerf #center](/install-guides/_images/aperf.webp)

### How do I use an HTTP server to view reports?

Expand Down
2 changes: 1 addition & 1 deletion content/install-guides/arduino-pico.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ From the menu select `Tools -> Board -> Boards Manager`.

When the `Boards Manager` opens search for `pico` and the `Arduino Mbed OS RP2040 Boards` will be displayed. Click the `Install` button to add it to the Arduino IDE.

![Arduino Board Manager](/install-guides/_images/arduino_rp2040_boards.png)
![Arduino Board Manager](/install-guides/_images/arduino_rp2040_boards.webp)

### How do I set up the Raspberry Pi Pico W?

Expand Down
2 changes: 1 addition & 1 deletion content/install-guides/vnc.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,4 @@ You will be prompted for the password you created earlier with `vncpasswd`.

A remote Linux desktop should appear on your local computer. When you are finished, close the VNC client first and then exit the SSH connection.

![Linux desktop #center](/install-guides/_images/xfce4.png)
![Linux desktop #center](/install-guides/_images/xfce4.webp)
2 changes: 1 addition & 1 deletion content/install-guides/windows-perf-vs-extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ The WindowsPerf extension is composed of several key features, each designed to

The sampling interface is shown below:

![Sampling preview #center](/install-guides/_images/wperf-vs-extension-sampling-preview.png)
![Sampling preview #center](/install-guides/_images/wperf-vs-extension-sampling-preview.webp)

* Counting Settings UI: Build a `wperf stat` command from scratch using the configuration interface, then view the output in VS Code or open it with Windows Performance Analyzer (WPA).
The interface to configure counting is shown below:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Once the script starts successfully, you will see a similar output to the image

You can use your browser to monitor the simulation data in real-time.

![img1 alt-text#center](vnc_address.png "Figure 1: Execute run.sh")
![img1 alt-text#center](vnc_address.webp "Figure 1: Execute run.sh")

Now you can use the browser to access visualization.
In this example the URL is http://34.244.98.151:6080/vnc.html
Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Run the program on both systems:

For easy comparison, the image below shows the x86 output (left) and Arm output (right). The highlighted lines show the difference in output:

![differences](./differences.png)
![differences](./differences.webp)

As you can see, there are several cases where different behavior is observed in these undefined scenarios. For example, when trying to convert a signed number to an unsigned number or dealing with out-of-bounds values.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Create a repository in your GitLab account by clicking the "+" sign on top-left

After you create the repository, navigate to `Settings->CI/CD` in the left-hand pane. Expand the `Runners` section and under `Project Runners`, select `New Project Runner`.

![arm64-runner #center](_images/create-gitlab-runner.png)
![arm64-runner #center](_images/create-gitlab-runner.webp)

Use `Tags` to specify the jobs that can be executed on the runner. In the `Tags` field, enter `arm64`. In `Runner description` enter `google-axion-arm64-runner` and click the `Create Runner` button

Expand Down Expand Up @@ -69,7 +69,7 @@ Runner registered successfully. Feel free to start it, but if it's running alrea

You should see the newly registered runner in the Runners section of the GitLab console as shown below.

![registered-runner #center](_images/registered-runner.png)
![registered-runner #center](_images/registered-runner.webp)

To create an `amd64` GitLab runner, follow the same steps as above, except for the `Download binaries` section. Change the download url to `https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64`

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ During inference, such as when trying to generate the next *token* or *word* wit

For example, in the image below, *z1* is calculated as a dot product of connected *x*s and *w*s from the previous layer. A matrix multiplication operation can therefore efficiently calculate all *z* values in Layer 0.

![Neural Network example#center](neural-node-pic.jpg "Zoomed-in neural network node.")
![Neural Network example#center](neural-node-pic.webp "Zoomed-in neural network node.")


In addition to *weights*, each neuron in a neural network is assigned a *bias*. These weights and biases are learned during training, and make up a model's parameters. For example, in the Llama 3 model with 8 billion parameters, the model has around 8 billion individual weights and biases that embody what the model learned during training. Generally speaking, the higher the number of parameters a model has, the more information it can retain from its training, which increases its performance capability. For more information about Llama 3 view its [Hugging Face model card](https://huggingface.co/meta-llama/Meta-Llama-3-8B).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To access Compiler Explorer, open a browser and go to https://godbolt.org.

This leads you to the page shown below in Figure 1. Your view might be slightly different.

![godbolt open alt-text#center](open.png "Figure 1. Compiler Explorer")
![godbolt open alt-text#center](open.webp "Figure 1. Compiler Explorer")

The left side of the page contains the source code. In Figure 1, the language is set to C++, but you can click on the programming language to select a different language for the source code.

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Make sure to replace 'x' with the version number of Python that you have install

After running the code, you will see output similar to Figure 5:

![image alt-text#center](figures/01.png "Figure 5. Output")
![image alt-text#center](figures/01.webp "Figure 5. Output")

## Train the Model

Expand Down Expand Up @@ -134,7 +134,7 @@ for t in range(epochs):

After running the code, you see the following output showing the training progress, as displayed in Figure 2.

![image alt-text#center](figures/02.png "Figure 2. Output 2")
![image alt-text#center](figures/02.webp "Figure 2. Output 2")

Once the training is complete, you see output similar to:

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ This code demonstrates how to use a saved PyTorch model for inference and visual

After running the code, you should see results similar to the following figure:

![image](figures/03.png "Figure 6. Results Displayed")
![image](figures/03.webp "Figure 6. Results Displayed")

### What have you learned?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ To ensure everything is set up correctly, follow these next steps:

4. Select the Python kernel you created earlier, `pytorch-env`. To do so, click **Kernels** in the top right-hand corner. Then, click **Jupyter Kernel...**, and you will see the Python kernel as shown below:

![img1 alt-text#center](figures/1.png "Figure 1: Python kernel.")
![img1 alt-text#center](figures/1.webp "Figure 1: Python kernel.")

5. In your Jupyter notebook, run the following code to verify PyTorch is working correctly:

Expand All @@ -127,6 +127,6 @@ print(torch.__version__)
```

It will look as follows:
![img2 alt-text#center](figures/2.png "Figure 2: Jupyter Notebook.")
![img2 alt-text#center](figures/2.webp "Figure 2: Jupyter Notebook.")

Now you have set up your development environment, you can move on to creating a PyTorch model.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ summary(model, (1, 28, 28))

After running the notebook, you will see the output as shown in Figure 4:

![img4 alt-text#center](figures/4.png "Figure 4: Notebook Output.")
![img4 alt-text#center](figures/4.webp "Figure 4: Notebook Output.")

You will see a detailed summary of the NeuralNetwork model's architecture, including the following information:

Expand Down
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ If successful, you should see the LED on your board light up. If you wave your h

You can further check that your code is running properly by opening the `Serial Monitor` from the `Tools` menu of the Arduino IDE. There you should see all of the output messages, including count of detected motion events, coming from your sketch.

![Debug output](_images/output.png)
![Debug output](_images/output.webp)

Congratulations! You have successfully programmed your microcontroller and built a working, if simple, smart device.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,39 +39,39 @@ If you're not familiar with a breadboard, the image above shows you how all of t

### Step 1: Seat your Raspberry Pi

![RaspberryPi Pico](_images/pico_on_breadboard.png)
![RaspberryPi Pico](_images/pico_on_breadboard.webp)

Seat your Raspberry Pi Pico on the breadboard so that its rows of pins sit on either side of the center divider. Make sure that it's firmly pressed all the way down but be careful not to bend any of the pins.

### Step 2: PIR ground

![PIR ground](_images/pir_sensor_1.png)
![PIR ground](_images/pir_sensor_1.webp)

Using a black jumper wire, connect the ground pin of your PIR sensor to pin #38 on your Pico. This pin is a ground voltage pin on the Pico.

### Step 3: PIR input voltage

![PIR voltage](_images/pir_sensor_2.png)
![PIR voltage](_images/pir_sensor_2.webp)

Using a red wire, connect the input voltage pin of your PIR sensor to pin #36 on your Pico. This pin is a 3.3 volt pin on the Pico and will supply power to your PIR sensor.

### Step 4: PIR data

![PIR data](_images/pir_sensor_3.png)
![PIR data](_images/pir_sensor_3.webp)

The last step to connecting the PIR sensor is to connect the middle data pin to pin #34 on your Pico. This is a GPIO pin that you can use to either read or write data.

Note that this is GPIO #28, even though it's physical pin #34. Physical pin number and GPIO numbers are not the same.

### Step 5: Buzzer ground

![Buzzer ground](_images/piezo_1.png)
![Buzzer ground](_images/piezo_1.webp)

Next, it's time to connect the buzzer. Start by connecting the buzzer's ground pin to pin #23 on your Pico. This is another ground pin that is build into your board.

### Step 6: Buzzer input

![Buzzer input](_images/piezo_2.png)
![Buzzer input](_images/piezo_2.webp)

Then, connect the buzzer's input pin to pin #25 on your Pico. This is another GPIO pin, this time GPIO #19.

Expand Down
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ You will need the following components:
- **Anode (long leg) of the LED** → connect to **GPIO pin D2** through a 220 Ω resistor
- **Cathode (short leg)** → connect to **GND**

![Diagram showing the physical breadboard circuit connecting an LED to GPIO D2 and GND on the Arduino Nano RP2040 alt-text#center](images/led_connection.png)
![Diagram showing the physical breadboard circuit connecting an LED to GPIO D2 and GND on the Arduino Nano RP2040 alt-text#center](images/led_connection.webp)

![Schematic diagram showing the LED connected between GPIO D2 and GND with a 220 Ω resistor in series alt-text#center](images/led_connection_schematic.png)

Expand Down
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Loading
Loading