nim-codex/benchmarks
Jaremy Creechley efd46148b0
Pr add prover benchmark tool (#790)
* initial setup

* reorg

* figuring out basic shell commands

* benchmarks

* benchmarks

* Sets up environment for running benchmarks

* updates

* integrate setup and proving

* updates

* adding outputs

* cleanup

* check failure

* benchmarks

* benchmarks

* benchmarks

* benchmarks

* benchmarks

* benchmarks

* formatting

* fix running larger sizes

* use larger ceremony file size

* use larger ceremony file size

* use larger ceremony file size

* restore benchmarks

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* refactor env

* refactor env

* refactor env

* refactor env

* refactor env

* rename

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* readme

* readme

* merge

* initial splitout of codex ark prover cli

* opts

* copying nimcli opts

* copying nimcli opts

* copying nimcli opts

* updating ark cli

* updating ark cli

* updating ark cli

* updating ark cli

* updating ark cli

* updating ark cli

* updating ark cli

* updating ark cli

* docs

* remove file

* add param

* add benchmarkLoops param

* update benchmark formatting

* update benchmark formatting

* update benchmark formatting

* update benchmark formatting

* fix naming

* fix serde version

* Apply suggestions from code review

cleanup wording

Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>

---------

Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2024-05-23 09:28:17 -07:00
..
.gitignore Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
README.md Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
config.nims Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
create_circuits.nim Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
run_benchmarks.nim Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
utils.nim Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00

README.md

Benchmark Runner

Modify runAllBenchmarks proc in run_benchmarks.nim to the desired parameters and variations.

Then run it:

nim c -r run_benchmarks

By default all circuit files for each combinations of circuit args will be generated in a unique folder named like: nim-codex/benchmarks/circuit_bench_depth32_maxslots256_cellsize2048_blocksize65536_nsamples9_entropy1234567_seed12345_nslots11_ncells512_index3

Generating the circuit files often takes longer than running benchmarks, so caching the results allows re-running the benchmark as needed.

You can modify the CircuitArgs and CircuitEnv objects in runAllBenchMarks to suite your needs. See create_circuits.nim for their definition.

The runner executes all commands relative to the nim-codex repo. This simplifies finding the correct circuit includes paths, etc. CircuitEnv sets all of this.

Codex Ark Circom CLI

Runs Codex's prover setup with Ark / Circom.

Compile:

nim c codex_ark_prover_cli.nim

Run to see usage:

./codex_ark_prover_cli.nim -h