软件层面,在语言层面上,ZK更友好的格式,也会带来加速生成的过程,比如Aleo的Leo语言。再就是算法本身的优化,虽然说有一定的优化空间,但是要想有大的突破需要非常多的时间,毕竟牵涉到很多数学问题。
硬件层面,也就是所谓的硬件加速, CPU、GPU、FPGA、ASIC。CPU与GPU相比在大数据多任务处理上,肯定GPU更占优势。FPGA与GPU相比,在兼顾了灵活性的基础上,无论是计算能力和功耗性能上都要更强,缺点是性价比太低。ASIC是的,其他的硬件形态都是无法比拟的。
●在算法过程中频繁的数据混洗使得NTT难以在计算集群中分布,无法并行计算,并且由于需要从大型数据集中加载和卸载数据,在硬件上运行时需要大量带宽。即使硬件操作很快,这可能也会导致速度变慢。例如,如果硬件芯片的内存为16GB或更少,那么在100GB的数据集上运行NTT将需要通过网络加载和卸载数据,这可能会大大降低操作速度。
芯片的硬件指的是运行指令的物理平台,包括处理器、内存、存储设备等等。芯片数据中常出现的“晶体管数量”、“7nm制程”、“存储”等,往往指的就是硬件参数。
软件则包括固件、驱动程序、操作系统、应用程序、算子、编译器和开发工具、模型优化和部署工具、应用生态等等。这些软件指导硬件如何响应用户指令、处理数据和任务,同时通过特定的算法和策略优化硬件资源的使用。芯片数据中常出现的“x86指令集”、“深度学习算子”、“CUDA平台”等,往往指的就是芯片软件。