Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V0.1.0 #32

Open
wants to merge 438 commits into
base: dev
Choose a base branch
from
Open

V0.1.0 #32

wants to merge 438 commits into from

Conversation

StefanosChaliasos
Copy link
Collaborator

@StefanosChaliasos StefanosChaliasos commented May 28, 2023

PR of merging v0.1.0 to dev and then eventually merging it to the main branch and updating the website.

Description

In this version of zk-Harness, we aim to support more frameworks. Will also add support for two main circuits, exponentiate and sha256, using various inputs. Finally, we will produce results for both Mac and AWS servers.

General

Documentation

  • High-level documentation of circuits and their inputs.
  • Display the high-level documentation and the explanation of the inputs in the UI.
  • Qualitative table for supported frameworks
  • Display qualitative table in the UI
  • Update Documentation

halo2

Circom + snarkjs/rapidsnark

  • Check if anything has broken
  • Decouple snarkjs/rapidsnark, and add support for rapidsnark via configs
  • Add support for C++ compilation?
  • Update logs format

bellman

gnark

starky

  • Add SHA256
  • Add Exponentiate
  • Parsing
  • Merge feat/starky
  • Update logs format

@StefanosChaliasos StefanosChaliasos added this to the v0.1.0 milestone May 28, 2023
This was referenced May 28, 2023
@StefanosChaliasos
Copy link
Collaborator Author

For halo2 statistics, we can write a helper function to print some statistics per circuit given the input. Then we should call that from within the reader, similar to the binary we run for computing the memory.

@StefanosChaliasos
Copy link
Collaborator Author

Currently, the way we use time will fail in Linux machines. We should use something like: /usr/bin/time -v command, which will print something like:

	Command being timed: "ls"
	User time (seconds): 0.00
	System time (seconds): 0.00
	Percent of CPU this job got: 0%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 2476
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 125
	Voluntary context switches: 1
	Involuntary context switches: 0
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

We should update that in the Python script and also handle it in the CSV parser

@StefanosChaliasos
Copy link
Collaborator Author

All rust memory measurements are now done #24

@StefanosChaliasos
Copy link
Collaborator Author

@tumberger, I think we don't need this one:

name = "rust_utils"
anymore. If that is the case, can you remove it?

@StefanosChaliasos
Copy link
Collaborator Author

@tumberger, I haven't updated the logs for arithmetics. Should we do it here or in #17?

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.

3 participants