●在算法過程中頻繁的數(shù)據(jù)混洗使得NTT難以在計算集群中分布,無法并行計算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運行時需要大量帶寬。即使硬件操作很快,這可能也會導致速度變慢。例如,如果硬件芯片的內存為16GB或更少,那么在100GB的數(shù)據(jù)集上運行NTT將需要通過網絡加載和卸載數(shù)據(jù),這可能會大大降低操作速度。
簡單來說,在其他參數(shù)相同或者差不多的情況下,內存和帶寬綜合決定終某個硬件在Aleo項目上的算力大小。
帶寬這個概念估計很多人不是很了解,之前只是關注顯存,雖然說目前Aleo官方還沒有正式公布的PoSW算法,但是從目前的表述來看把NTT/FFT這個漏洞堵上是個必然,而且本身零知識證明算法是對NTT/FFT有要求的。
芯片的硬件指的是運行指令的物理平臺,包括處理器、內存、存儲設備等等。芯片數(shù)據(jù)中常出現(xiàn)的“晶體管數(shù)量”、“7nm制程”、“存儲”等,往往指的就是硬件參數(shù)。
軟件則包括固件、驅動程序、操作系統(tǒng)、應用程序、算子、編譯器和開發(fā)工具、模型優(yōu)化和部署工具、應用生態(tài)等等。這些軟件指導硬件如何響應用戶指令、處理數(shù)據(jù)和任務,同時通過特定的算法和策略優(yōu)化硬件資源的使用。芯片數(shù)據(jù)中常出現(xiàn)的“x86指令集”、“深度學習算子”、“CUDA平臺”等,往往指的就是芯片軟件。
在分析之前,我們先看一下ASIC(Application Specific Integrated Circuit),中文全稱是“專用集成電路”。這里特別強調“專用”,“專用”意味著針對單一項目來說會更加有競爭力。相對比,GPU(顯卡)是通用計算處理芯片,所以在單一項目上來說“專用”肯定比“通用”更有競爭力。