0xPolygonZero / plonky2

Apache License 2.0
745 stars 273 forks source link

Question: why BaseSumGate takes up the whole row while the other gates can share the same row across multiple instances? #1551

Closed GopherJ closed 4 months ago

GopherJ commented 4 months ago

no num_ops inside BaseSumGate

wborgeaud commented 4 months ago

BaseSumGate is mostly used to decompose a Goldilocks field element into its 64-bit representation, see https://github.com/0xPolygonZero/plonky2/blob/62ffe11a984dbc0e6fe92d812fa8da78b7ba73c7/plonky2/src/gadgets/split_join.rs#L24. We typically use 80 routed wires (see standard_recursion_config()), so there's not enough space in one row to do more than one 64-bit decomposition. But if we increased the number of routed wires (or remove the requirements that the bits targets have to be wired) we could certainly have num_ops>1 in BaseSumGate.