軟件層面,在語言層面上,ZK更友好的格式,也會帶來加速生成的過程,比如Aleo的Leo語言。再就是算法本身的優(yōu)化,雖然說有一定的優(yōu)化空間,但是要想有大的突破需要非常多的時間,畢竟牽涉到很多數(shù)學問題。
硬件層面,也就是所謂的硬件加速, CPU、GPU、FPGA、ASIC。CPU與GPU相比在大數(shù)據(jù)多任務(wù)處理上,肯定GPU更占優(yōu)勢。FPGA與GPU相比,在兼顧了靈活性的基礎(chǔ)上,無論是計算能力和功耗性能上都要更強,缺點是性價比太低。ASIC是的,其他的硬件形態(tài)都是無法比擬的。
●在算法過程中頻繁的數(shù)據(jù)混洗使得NTT難以在計算集群中分布,無法并行計算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運行時需要大量帶寬。即使硬件操作很快,這可能也會導致速度變慢。例如,如果硬件芯片的內(nèi)存為16GB或更少,那么在100GB的數(shù)據(jù)集上運行NTT將需要通過網(wǎng)絡(luò)加載和卸載數(shù)據(jù),這可能會大大降低操作速度。
芯片的硬件指的是運行指令的物理平臺,包括處理器、內(nèi)存、存儲設(shè)備等等。芯片數(shù)據(jù)中常出現(xiàn)的“晶體管數(shù)量”、“7nm制程”、“存儲”等,往往指的就是硬件參數(shù)。
軟件則包括固件、驅(qū)動程序、操作系統(tǒng)、應用程序、算子、編譯器和開發(fā)工具、模型優(yōu)化和部署工具、應用生態(tài)等等。這些軟件指導硬件如何響應用戶指令、處理數(shù)據(jù)和任務(wù),同時通過特定的算法和策略優(yōu)化硬件資源的使用。芯片數(shù)據(jù)中常出現(xiàn)的“x86指令集”、“深度學習算子”、“CUDA平臺”等,往往指的就是芯片軟件。