mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-05 23:33:07 +00:00
Merge pull request #707 from mir-protocol/par_fri_queries
Compute answers to FRI queries in parallel
This commit is contained in:
commit
92a0075ac9
@ -149,15 +149,12 @@ fn fri_prover_query_rounds<
|
|||||||
n: usize,
|
n: usize,
|
||||||
fri_params: &FriParams,
|
fri_params: &FriParams,
|
||||||
) -> Vec<FriQueryRound<F, C::Hasher, D>> {
|
) -> Vec<FriQueryRound<F, C::Hasher, D>> {
|
||||||
(0..fri_params.config.num_query_rounds)
|
challenger
|
||||||
.map(|_| {
|
.get_n_challenges(fri_params.config.num_query_rounds)
|
||||||
fri_prover_query_round::<F, C, D>(
|
.into_par_iter()
|
||||||
initial_merkle_trees,
|
.map(|rand| {
|
||||||
trees,
|
let x_index = rand.to_canonical_u64() as usize % n;
|
||||||
challenger,
|
fri_prover_query_round::<F, C, D>(initial_merkle_trees, trees, x_index, fri_params)
|
||||||
n,
|
|
||||||
fri_params,
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
@ -169,13 +166,10 @@ fn fri_prover_query_round<
|
|||||||
>(
|
>(
|
||||||
initial_merkle_trees: &[&MerkleTree<F, C::Hasher>],
|
initial_merkle_trees: &[&MerkleTree<F, C::Hasher>],
|
||||||
trees: &[MerkleTree<F, C::Hasher>],
|
trees: &[MerkleTree<F, C::Hasher>],
|
||||||
challenger: &mut Challenger<F, C::Hasher>,
|
mut x_index: usize,
|
||||||
n: usize,
|
|
||||||
fri_params: &FriParams,
|
fri_params: &FriParams,
|
||||||
) -> FriQueryRound<F, C::Hasher, D> {
|
) -> FriQueryRound<F, C::Hasher, D> {
|
||||||
let mut query_steps = Vec::new();
|
let mut query_steps = Vec::new();
|
||||||
let x = challenger.get_challenge();
|
|
||||||
let mut x_index = x.to_canonical_u64() as usize % n;
|
|
||||||
let initial_proof = initial_merkle_trees
|
let initial_proof = initial_merkle_trees
|
||||||
.iter()
|
.iter()
|
||||||
.map(|t| (t.get(x_index).to_vec(), t.prove(x_index)))
|
.map(|t| (t.get(x_index).to_vec(), t.prove(x_index)))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user