Skip to content

Arm backend: profile SmolLM2 Ethos-U KV cache on FVP - #22560

Merged
xingguo01 merged 1 commit into
pytorch:mainfrom
xingguo01:smollm2-ethosu-profile
Sep 4, 2026
Merged

Arm backend: profile SmolLM2 Ethos-U KV cache on FVP#22560
xingguo01 merged 1 commit into
pytorch:mainfrom
xingguo01:smollm2-ethosu-profile

Conversation

@xingguo01

@xingguo01 xingguo01 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Capture per-inference Ethos-U85 PMU counters from the semihosting server. Separate token executions into prompt processing and decoding summaries.

Disable FVP fast mode automatically during profiling. Support JSON and CSV reports, with optional NPU-only token-rate estimates.

Document the CS-320 command and clarify that Cortex-M timing and end-to-end throughput cannot be inferred from the simulator.

Generated with assistance from OpenAI Codex.

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

Capture per-inference Ethos-U85 PMU counters from the semihosting
server. Separate token executions into prompt processing and decoding
summaries.

Disable FVP fast mode automatically during profiling. Support JSON
and CSV reports, with optional NPU-only token-rate estimates.

Document the CS-320 command and clarify that Cortex-M timing and
end-to-end throughput cannot be inferred from the simulator.

Generated with assistance from OpenAI Codex.

Signed-off-by: Xingguo Li <xingguo.li@arm.com>
Change-Id: Iba3ffb744f7b94aebdd51720f2634b221de87059
@pytorch-bot

pytorch-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22560

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 New Failure

As of commit 14f7672 with merge base c7bbe0b (image):

NEW FAILURE - The following job has failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 4, 2026
@github-actions github-actions Bot added ciflow/trunk module: arm Issues related to arm backend labels Sep 4, 2026
@xingguo01 xingguo01 added the release notes: arm Changes to the ARM backend delegate label Sep 4, 2026

@sylvesterkaczmarek sylvesterkaczmarek left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The profiling boundary is well defined. Re-enabling the PMU cycle counter at each server-mode measurement is necessary because StopMeasurements() disables it, and disabling Ethos-U fast mode only when profiling keeps the normal execution path unchanged. The phase accounting also documents the subtle first-generated-token ownership correctly, so the reported decode rate is not mislabeled as end-to-end throughput.

@xingguo01
xingguo01 merged commit 738f197 into pytorch:main Sep 4, 2026
541 of 554 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. module: arm Issues related to arm backend release notes: arm Changes to the ARM backend delegate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants