硬件层面,也就是所谓的硬件加速, CPU、GPU、FPGA、ASIC。CPU与GPU相比在大数据多任务处理上,肯定GPU更占优势。FPGA与GPU相比,在兼顾了灵活性的基础上,无论是计算能力和功耗性能上都要更强,缺点是性价比太低。ASIC是的,其他的硬件形态都是无法比拟的。
证明生成的过程中,约有60%的时间花在MSM上,其余时间由NTT/FTT主导。MSM和NTT都存在性能挑战,通常的解决办法:
●MSM可以在多线程上执行,从而支持并行处理。然而,当处理大型数据向量时,例如6700万个参数,乘法运算可能仍然很慢,并且需要大量的内存资源。此外,MSM存在可扩展性方面的挑战,即使在广泛并行化的情况下也可能保持缓慢。
●在算法过程中频繁的数据混洗使得NTT难以在计算集群中分布,无法并行计算,并且由于需要从大型数据集中加载和卸载数据,在硬件上运行时需要大量带宽。即使硬件操作很快,这可能也会导致速度变慢。例如,如果硬件芯片的内存为16GB或更少,那么在100GB的数据集上运行NTT将需要通过网络加载和卸载数据,这可能会大大降低操作速度。
综上来看,内存和带宽是限制证明生成的主要瓶颈。对于显卡来说,这里的内存指的是显存,并不是主板上的内存,主板上的内存主要是参与CPU的计算。当然目前有些芯片技术可以打通主板上的内存和显存,让内存为显存计算来用。