Skip to content

Commit c7e300e

Browse files
committed
remove unnecessary generic from VerifierExternalData
1 parent b11e2f8 commit c7e300e

File tree

1 file changed

+9
-16
lines changed
  • crates/recursion/src/system

1 file changed

+9
-16
lines changed

crates/recursion/src/system/mod.rs

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ impl Default for VerifierConfig {
7272
}
7373

7474
#[derive(Debug)]
75-
pub struct VerifierExternalData<'a, PB: ProverBackend> {
76-
pub poseidon2_compress_inputs: &'a Vec<[PB::Val; POSEIDON2_WIDTH]>,
75+
pub struct VerifierExternalData<'a> {
76+
pub poseidon2_compress_inputs: &'a Vec<[F; POSEIDON2_WIDTH]>,
7777
pub range_check_inputs: &'a Vec<usize>,
7878
pub required_heights: Option<&'a [usize]>,
79-
pub final_transcript_state: Option<&'a mut [PB::Val; POSEIDON2_WIDTH]>,
79+
pub final_transcript_state: Option<&'a mut [F; POSEIDON2_WIDTH]>,
8080
}
8181

8282
// Trait to make tracegen functions generic on ProverBackend
@@ -108,7 +108,7 @@ pub trait VerifierTraceGen<PB: ProverBackend, SC: StarkProtocolConfig<F = F>> {
108108
child_vk: &MultiStarkVerifyingKey<BabyBearPoseidon2Config>,
109109
cached_trace_ctx: CachedTraceCtx<PB>,
110110
proofs: &[Proof<BabyBearPoseidon2Config>],
111-
external_data: &mut VerifierExternalData<PB>,
111+
external_data: &mut VerifierExternalData,
112112
initial_transcript: TS,
113113
) -> Option<Vec<AirProvingContext<PB>>>;
114114

@@ -463,7 +463,7 @@ impl<'a> TraceModuleRef<'a> {
463463
pow_checker_gen: &Arc<PowerCheckerCpuTraceGenerator<2, POW_CHECKER_HEIGHT>>,
464464
exp_bits_len_gen: &ExpBitsLenTraceGenerator,
465465
cached_trace_record: &Option<&CachedTraceRecord>,
466-
external_data: &VerifierExternalData<CpuBackend<SC>>,
466+
external_data: &VerifierExternalData,
467467
required_heights: Option<&[usize]>,
468468
) -> Option<Vec<AirProvingContext<CpuBackend<SC>>>> {
469469
match self {
@@ -1010,7 +1010,7 @@ impl<SC: StarkProtocolConfig<F = F>, const MAX_NUM_PROOFS: usize>
10101010
child_vk: &MultiStarkVerifyingKey<BabyBearPoseidon2Config>,
10111011
cached_trace_ctx: CachedTraceCtx<CpuBackend<SC>>,
10121012
proofs: &[Proof<BabyBearPoseidon2Config>],
1013-
external_data: &mut VerifierExternalData<CpuBackend<SC>>,
1013+
external_data: &mut VerifierExternalData,
10141014
initial_transcript: TS,
10151015
) -> Option<Vec<AirProvingContext<CpuBackend<SC>>>> {
10161016
debug_assert!(proofs.len() <= MAX_NUM_PROOFS);
@@ -1157,7 +1157,7 @@ pub mod cuda_tracegen {
11571157
pow_checker_gen: &Arc<PowerCheckerGpuTraceGenerator<2, POW_CHECKER_HEIGHT>>,
11581158
exp_bits_len_gen: &ExpBitsLenTraceGenerator,
11591159
cached_trace_record: &Option<&CachedTraceRecord>,
1160-
external_data: &VerifierExternalData<GpuBackend>,
1160+
external_data: &VerifierExternalData,
11611161
required_heights: Option<&[usize]>,
11621162
) -> Option<Vec<AirProvingContext<GpuBackend>>> {
11631163
match self {
@@ -1259,7 +1259,7 @@ pub mod cuda_tracegen {
12591259
child_vk: &MultiStarkVerifyingKey<BabyBearPoseidon2Config>,
12601260
cached_trace_ctx: CachedTraceCtx<GenericGpuBackend<HS>>,
12611261
proofs: &[Proof<BabyBearPoseidon2Config>],
1262-
external_data: &mut VerifierExternalData<GenericGpuBackend<HS>>,
1262+
external_data: &mut VerifierExternalData,
12631263
initial_transcript: TS,
12641264
) -> Option<Vec<AirProvingContext<GenericGpuBackend<HS>>>> {
12651265
debug_assert!(proofs.len() <= MAX_NUM_PROOFS);
@@ -1326,13 +1326,6 @@ pub mod cuda_tracegen {
13261326
_ => None,
13271327
};
13281328

1329-
let external_data_gpu = VerifierExternalData::<GpuBackend> {
1330-
poseidon2_compress_inputs: external_data.poseidon2_compress_inputs,
1331-
range_check_inputs: external_data.range_check_inputs,
1332-
required_heights: external_data.required_heights,
1333-
final_transcript_state: None,
1334-
};
1335-
13361329
// PERF[jpw]: we avoid par_iter so that kernel launches occur on the same stream.
13371330
// This can be parallelized to separate streams for more CUDA stream parallelism, but it
13381331
// will require recording events so streams properly sync for cudaMemcpyAsync and kernel
@@ -1346,7 +1339,7 @@ pub mod cuda_tracegen {
13461339
&power_checker_gen,
13471340
&exp_bits_len_gen,
13481341
&cached_trace_record,
1349-
&external_data_gpu,
1342+
external_data,
13501343
required_heights,
13511344
)?);
13521345
}

0 commit comments

Comments
 (0)