Skip to content

Align DMA memcpy with the EF's Accelerated Memory Operations standard - #922

Open
nicole-graus wants to merge 5 commits into
feat/dma-memcpyfrom
fix/dma-memcpy-symbol-resolution
Open

Align DMA memcpy with the EF's Accelerated Memory Operations standard#922
nicole-graus wants to merge 5 commits into
feat/dma-memcpyfrom
fix/dma-memcpy-symbol-resolution

Conversation

@nicole-graus

Copy link
Copy Markdown
Collaborator

Motivation

Aligns the DMA memcpy accelerator from #874 with the EF's "Accelerated Memory Operations" proposal (eth-act/zkevm-standards#32), which requires a vendor to pin down how its memcpy wins symbol resolution, to document which mechanism it relies on, and encourages reporting what the acceleration costs.

Description

  • Defines memcpy in the always-linked entrypoint object, next to _start, so it wins resolution regardless of codegen-unit partitioning — mechanism (1) of the standard, documented in docs/general_flow.md.
  • Adds a guest whose copies are only compiler-emitted, so a silent fallback to the weak compiler-builtins definition fails a test instead of quietly costing performance.
  • Reports Dma bytes and Dma rows alongside Dma calls in execute --cycles, since one memcpy becomes several ecalls and the call count alone is a poor cost proxy.

@github-actions

Copy link
Copy Markdown

Benchmark Results for modified programs 🚀

Command Mean [ms] Min [ms] Max [ms] Relative
head hashmap 91.8 ± 18.5 84.9 144.5 1.00

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.

2 participants