kroma-network / tachyon

Modular ZK(Zero Knowledge) backend accelerated by GPU
MIT License
7.77k stars 231 forks source link

perf(halo2): apply batch commitment in `create_proof()` #465

Closed chokobole closed 2 months ago

chokobole commented 2 months ago

Description

Previously, create_proof() committed to polynomials or evaluations and then performed batch normalization. This approach was inefficient on the CPU (though acceptable on the GPU, as ProjectivePoint was returned) because commit() returned PointXYZZ, which then needed conversion to ProjectivePoint and finally to AffinePoint. This process has now been optimized by directly converting PointXYZZ to AffinePoint, thus improving performance.