@@ -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