efd46148b0
* 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> |
||
---|---|---|
.. | ||
.gitignore | ||
README.md | ||
config.nims | ||
create_circuits.nim | ||
run_benchmarks.nim | ||
utils.nim |
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