Skip to content

Adding flexibility for embedded devices. Optimizing A2 by ~1.5% - #329

Open
edwillys wants to merge 9 commits into
sdatkinson:mainfrom
edwillys:feat-embedded-a2opt
Open

Adding flexibility for embedded devices. Optimizing A2 by ~1.5%#329
edwillys wants to merge 9 commits into
sdatkinson:mainfrom
edwillys:feat-embedded-a2opt

Conversation

@edwillys

@edwillys edwillys commented Sep 6, 2026

Copy link
Copy Markdown

PR built on top of the Windows compatibility changes from this PR.
Adding some flexibility for embedded targets, where things such as mutex, JSON parsing, exceptions and file system... are not available. Hence introducing NAM_NO_EXCEPTIONS, NAM_NO_MUTEX, NAM_NO_JSON, NAM_NO_FILESYSTEM
Optimizing _ring_write() with lazy tail mirroring. Previously ,it copied the entire ring prefix into the mirror on every layer and every block. Most blocks do not wrap the ring, so that copy is unnecessary. This saves ~1.5% CPU on cortex M7 and is a generic implementation for all platforms.

edwillys added 9 commits July 30, 2026 18:51
Fixing bug in test
Conclude the merge with upstream NeuralAmpModelerCore while preserving the embedded portability changes, A2 fast path, binary loading support, and host-only .nam validation boundary.
…mples that wrap the ring. This saves ~1.4% average and 0.5% peak on Cortex-M7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant