-
Notifications
You must be signed in to change notification settings - Fork 36
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
groth16-gpu #263
groth16-gpu #263
Conversation
groth16/src/lib.rs
Outdated
// #[cfg(any(feature = "cuda", feature = "opencl"))] | ||
// pub use gpu_specific::*; | ||
|
||
// #[cfg(not(any(feature = "cuda", feature = "opencl")))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the franklin_crypto project still being used in the non_gpu scenario?
algebraic/Cargo.toml
Outdated
#franklin-crypto = { path = "../../franklin-crypto", features = [ "plonk" ], version = "0.0.5"} | ||
|
||
# Add cuda and opencl dependencies directly | ||
ff = { version = "0.13.0", features = ["derive"], optional = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to use [target.'cfg(any(feature = "cuda", feature = "opencl"))'.dependencies] but cannot load crates.
plonky/Cargo.toml
Outdated
@@ -46,7 +46,7 @@ ark-std = { version = "0.4.0", optional = true } | |||
env_logger = "0.10" | |||
|
|||
[features] | |||
default = ["bellman_vk_codegen/multicore", "franklin-crypto/multicore", "ethabi", "recursive_aggregation_circuit/multicore"] | |||
default = ["bellman_vk_codegen/multicore", "franklin-crypto/multicore", "ethabi", "recursive_aggregation_circuit/multicore", "algebraic/default"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cargo build --release --features "opencl plonky/default recursion/default" # This command cannot include the default algebraic feature
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
--features "A feature" --features "B features" ...
groth16/Cargo.toml
Outdated
pairing = { version = "0.23.0", optional = true } | ||
group = { version = "0.13.0", optional = true } | ||
blstrs = { version = "0.7.0", features = ["__private_bench"], optional = true } | ||
bellperson = { version = "0.25", default-features = false, optional = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use frankin-crypto by default.
algebraic/src/r1cs_file.rs
Outdated
} | ||
Ok(custom_gates) | ||
} | ||
|
||
fn read_custom_gates_uses_list<R: Read>( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we miss a feature config here?
pairing = { version = "0.23.0", optional = true } | ||
group = { version = "0.13.0", optional = true } | ||
blstrs = { version = "0.7.0", features = ["__private_bench"], optional = true } | ||
bellperson = { version = "0.26", default-features = false, features = ["groth16"], optional = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we group up the gpu dependencies from the cpu dependencies?
@@ -0,0 +1,2 @@ | |||
{"a": 3, "b": 11} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we hardcode those files in the source code accordingly to reduce the file scale? same for the algebraic project
} | ||
|
||
component main = Multiplier(); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any way to reuse the circom and wasm files for both cpu and gpu algebraic?
groth16/src/r1cs_file.rs
Outdated
@@ -0,0 +1,414 @@ | |||
// some codes borrowed from https://github.com/poma/zkutil/blob/master/src/r1cs_reader.rs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove this file? since we have one in the algebraic-gpu
fix #129