kroma-network / tachyon

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

perf!: use icicle msm #426

Closed chokobole closed 3 weeks ago

chokobole commented 1 month ago

Description

This PR integrates icicle MSM for improved performance!

Previously, the MSM GPU interface accepted input directly from GPU memory, which complicated the use of MSM GPU for the KZG commitment scheme. While we could implement this for previous algorithms, such as Bellman MSM and CUZK, they were slow when dealing with non-random scalar distributions. The advantages of using icicle are twofold: (1) it supports input from CPU memory, and (2) it performs well even with non-random scalar distributions. Consequently, this PR removes the previous implementations and adopts icicle exclusively.

TomTaehoonKim commented 3 weeks ago

How about adding GPU benchmark as well?