CycloneNTT:需要更少内存的butterfly FFT方案

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CycloneNTT:需要更少内存的butterfly FFT方案相关的知识,希望对你有一定的参考价值。

1. 引言

Jump Trading和Jump Crypto团队 Aasaraai等人 2022年论文CycloneNTT: An NTT/FFT Architecture Using Quasi-Streaming of Large Datasets on DDR- and HBM-based FPGA Platforms

Number-Theoretic-Transform(NTT)为基于有限域的Fast-Fourier-Transform(FFT),已广泛用于区块链和零知识证明应用中。尽管之前有大量采用FPGA来实现FFT和NTT的研究,CycloneNTT为首个解决了不适于on-chip RAM的large data set( ≥ 2 24 \\geq 2^24 224,64-bit数字)NTT计算问题。

CycloneNTT采用state-of-the-art butterfly网络,可将dataflow 映射到 由外部内存与on-chip SRAM组成的混合FIFO中。这表现为quasi-streaming数据访问模式,最大限度地减少了外部内存访问延迟并最大限度地提高了吞吐量。

在本文实现了2种CycloneNTT算法变种:

  • 针对DDR内存FPGA平台优化的CycloneNTT:基于DDR的平台(AWS F1),应用延迟等于 the streaming of the entire dataset log ⁡ N \\log N logN times to/from external memory。
  • 针对HBM内存FPGA优化的CycloneNTT:当采用HBM(Xilinx C1100)时,该架构为compute-bound。利用HBM的大通道数,进一步优化,CyclonNTT仅需要 1 6 log ⁡ N \\frac16\\log N 61logN passes。

参考资料

[1] Arkworks-rs/algebra项目 Compare FFT against ia.cr/2022/1657 #527

以上是关于CycloneNTT:需要更少内存的butterfly FFT方案的主要内容,如果未能解决你的问题,请参考以下文章

用更少的内存在 C++ 中实现二维数组

os-9.虚拟内存

我可以确定重新分配更少的内存总能找到足够的内存吗?

哪个向量和地图,使用更少的内存(大量数据和未知大小)

如何让 MySQL 使用更少的内存?

PHP允许的内存大小耗尽但尝试分配的内存更少