Skip to content

Conversation

@zhiyong1997
Copy link
Collaborator

@zhiyong1997 zhiyong1997 commented Sep 15, 2025

From the implementation side:

The most extensive part of memory usage now:

  1. PCS Peak: ~60GB (root only).
  2. GKR Peak: ~5.59 GB/core
  • Export to Expander Format: ~1.2GB
  • ScratchPad: ~2.7 GB
  • Input Intermediate Result: ~0.5 GB
  • All witness: ~1.2 GB
  1. PCS Target: TBD
  2. GKR Target:
  • Export to Expander Format: 0. (Store shared expander circuit instead of ECC circuit in the very beginning)
  • ScratchPad: ~1.4GB
  • Input Intermediate Result: 0 (Simply drop it)
  • All witness: ~1.2GB (No change)

gemini-code-assist[bot]

This comment was marked as off-topic.

@zhiyong1997 zhiyong1997 changed the title Zf/memory profiler [DO NOT MERGE] Memory Profiler Sep 15, 2025
@zhiyong1997 zhiyong1997 marked this pull request as draft September 15, 2025 23:57
gemini-code-assist[bot]

This comment was marked as off-topic.

@zhiyong1997
Copy link
Collaborator Author

zhiyong1997 commented Sep 16, 2025

From system design:

Backend

  1. Goldilocks, but what PCS?.
  2. Variable-length BN Field.
  3. Optimize Sumcheck (Currently 4X input size overhead).
  4. (Fallback) Auto detect available memory and split large parallelism into several smaller ones (will either hurt proving time or proof size and verification time).

Frontend

  1. Minimize circuit and witness size.

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