产品更新:ICICLE v1.9.1

  • ingonyama
  • 发布于 2024-04-01 13:42
  • 阅读 10

ICICLE 是一个使用 CUDA-enabled GPUs 进行 ZK 加速的库。最新版本引入了 ECNTT、列式 NTT 处理、MSM 预计算等新特性,并优化了编译时间。即将发布的 v2 版本将提供丰富的多项式 API,并支持在 GPU 内部运行端到端的证明器。

ICICLE 是一个使用支持 CUDA 的 GPU 进行 ZK 加速的库。

在我们的文档网站上了解更多关于如何使用 ICICLE 的信息。

本次更新涵盖 v1.7、v1.8、v1.9 和 v1.9.1 版本

以下是 ICICLE v2 之前的最后一次产品更新,计划在未来几周内发布。v2 的定义是公开一个丰富的多项式 API。我们已经有了在 GPU 内部端到端运行的证明器的可用原型,在 v2 中,我们打算让所有使用 ICICLE 的开发者都可以使用此功能。

最新内容

  • 引入 ECNTT
  • NTT 列式处理
  • MSM 预计算
  • CUDA 12.2+ 的编译时间减半
  • Keccak-256、Keccak-512 添加到 C++ API

继续阅读以了解详细信息。

引入 ECNTT 和批量 ECNTT

ECNTT 是在椭圆曲线点上完成的 NTT。它是一种计算密集型操作,可以有效地并行化。我们第一个 ECNTT 的实现大约在一年前,当时我们需要在 GPU 内部完全运行 Danksharding。

从那时起,其他数据可用性解决方案也采用了类似的方法,因此,听取社区的意见,我们决定重新引入此功能。来自 ICICLE 用户的初步结果显示,与 CPU 的领先实现相比,性能提升高达 500 倍 (!!!)。自 v1.9.1 以来,ECNTT 也可从 Golang 获得。批量 ECNTT 也受到支持,完整的文档即将发布

MSM 和 NTT 更新

本次更新引入了批量数论变换 (NTT) 处理的增强功能,支持列式数据处理。这消除了操作前后进行数据转置的必要性;用户现在可以调整 NTT 配置中的设置以方便此过程。

此外,通过集成预计算步骤,实现了多标量乘法 (MSM) 功能的增强。这允许提前计算额外的椭圆曲线点,从而简化后续的 MSM 操作。

MSM 预计算基准测试(使用 Nvidia RTX 3090T)

编译时间减少

我们发现,使用 ICICLE 进行开发时,编译时间可能是一个关键瓶颈,因此我们正在解决这个问题。在 v1.9 中,我们引入了一种更快的编译方法,适用于 CUDA 12.2 及更高版本。CUDA c++ 编译时间的加速是通过多线程编译完成的。在 8 核机器上的测试显示加速约 2 倍。

未来,我们计划进一步减少旧版 CUDA 的编译时间。

Keccak 支持

Keccak-256 和 Keccak-512 现在可以从 C++ API 访问。基准测试、文档和包装器即将推出!

总结

有关更改的完整列表,请查看我们的变更日志

下一步是什么:

在这里,我们重点介绍一些短期路线图项目。如果你想使用该代码的实验版本,请联系我们。

  • Baby Bear 支持: 我们第一个支持的小域是 BabyBear。更多小域将在未来几周内推出。与 Risc0 BabyBear CUDA 代码相比,我们已经看到了一些令人兴奋的性能数字。
  • poseidon 2: 我们继续使用经典哈希函数和新的代数哈希函数来扩展我们的哈希函数组合。与现有的 Poseidon 实现一样。Poseidon2 将与我们的 Tree Builder 兼容,以便轻松实现 Merkle 树。请告诉我们你希望我们支持哪些其他哈希函数
  • Gnark 原生支持: 目前,Gnark 将 ICICLE 0.X 版本集成到其 Groth16 实现中。我们升级了 ICICLE,并很快将最新的 ICICLE 版本开放到 Gnark Groth16 和 Plonk 中
  • 多项式 API: 即将发布的 ICICLE v2 引入了一个丰富的多项式 API,展示了在 GPU 内部端到端运行的证明器的原型。
  • Sumcheck 加速: 经过大量研究,我们将很快集成我们的第一个 sumcheck gpu 实现迭代。此版本显示出强大的性能结果,并将支持 MLE 产品的 sumcheck

如果你有兴趣在预发布时测试这些功能,或者对设计考虑因素有一些想法,请通过 hi@ingonyama.com 与我们联系。

关注 Ingonyama

Twitter: https://twitter.com/Ingo_zk

Documentation: https://dev.ingonyama.com/

YouTube: https://www.youtube.com/@ingo_zk

GitHub: https://github.com/ingonyama-zk

LinkedIn: https://www.linkedin.com/company/ingonyama

Join us: https://www.ingonyama.com/career

  • 原文链接: medium.com/@ingonyama/pr...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ingonyama
ingonyama
从软件到硅重定义密码学硬件加速 // 从这里开始: https://dev.ingonyama.com