●在算法過(guò)程中頻繁的數(shù)據(jù)混洗使得NTT難以在計(jì)算集群中分布,無(wú)法并行計(jì)算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運(yùn)行時(shí)需要大量帶寬。即使硬件操作很快,這可能也會(huì)導(dǎo)致速度變慢。例如,如果硬件芯片的內(nèi)存為16GB或更少,那么在100GB的數(shù)據(jù)集上運(yùn)行NTT將需要通過(guò)網(wǎng)絡(luò)加載和卸載數(shù)據(jù),這可能會(huì)大大降低操作速度。
綜上來(lái)看,內(nèi)存和帶寬是限制證明生成的主要瓶頸。對(duì)于顯卡來(lái)說(shuō),這里的內(nèi)存指的是顯存,并不是主板上的內(nèi)存,主板上的內(nèi)存主要是參與CPU的計(jì)算。當(dāng)然目前有些芯片技術(shù)可以打通主板上的內(nèi)存和顯存,讓內(nèi)存為顯存計(jì)算來(lái)用。
簡(jiǎn)單來(lái)說(shuō),在其他參數(shù)相同或者差不多的情況下,內(nèi)存和帶寬綜合決定終某個(gè)硬件在Aleo項(xiàng)目上的算力大小。
帶寬這個(gè)概念估計(jì)很多人不是很了解,之前只是關(guān)注顯存,雖然說(shuō)目前Aleo官方還沒(méi)有正式公布的PoSW算法,但是從目前的表述來(lái)看把NTT/FFT這個(gè)漏洞堵上是個(gè)必然,而且本身零知識(shí)證明算法是對(duì)NTT/FFT有要求的。
芯片的硬件指的是運(yùn)行指令的物理平臺(tái),包括處理器、內(nèi)存、存儲(chǔ)設(shè)備等等。芯片數(shù)據(jù)中常出現(xiàn)的“晶體管數(shù)量”、“7nm制程”、“存儲(chǔ)”等,往往指的就是硬件參數(shù)。
軟件則包括固件、驅(qū)動(dòng)程序、操作系統(tǒng)、應(yīng)用程序、算子、編譯器和開(kāi)發(fā)工具、模型優(yōu)化和部署工具、應(yīng)用生態(tài)等等。這些軟件指導(dǎo)硬件如何響應(yīng)用戶指令、處理數(shù)據(jù)和任務(wù),同時(shí)通過(guò)特定的算法和策略優(yōu)化硬件資源的使用。芯片數(shù)據(jù)中常出現(xiàn)的“x86指令集”、“深度學(xué)習(xí)算子”、“CUDA平臺(tái)”等,往往指的就是芯片軟件。