為 NVIDIA 設計的比特幣替代品
目前最好的比特幣顯卡都是AMD。應該在比特幣協議中進行哪些更改,以使 NVIDIA 顯卡更好地探勘比特幣的替代版本?是否有一種協議可以或多或少地支持兩種顯卡的生產方式?
AMD 卡對比特幣挖礦更有效的具體原因是雙重的,這個問題的答案取決於兩個原因:
- AMD GPU 往往具有低端 ALU,但通過將更多 ALU 打包到卡上來彌補這一點。對於大多數雜湊算法,這是可取的。
- AMD GPU 使用的 ALU 可以在一條指令中執行 32 位整數右循環操作 - Nvidia 的 ALU 需要三個處理器週期來執行相同的操作。SHA256 大量使用此操作,因此比特幣挖礦大量使用此操作。
結合上述兩個原因,SHA256 校驗和的生成速度總體提高了 3 到 5 倍。然而,這兩種效果並不相等:效果 1 單獨帶來了大約 2 到 3 倍 Nvidia 的性能,而效果 2 則帶來了大約 1.7 倍的性能優勢。即使您要選擇較少使用 BIT_ALIGN_INT 指令的散列算法,對於散列算法,AMD 卡通常仍會快 2 到 3 倍。這是因為這些算法被明確設計為簡單的二進制運算,AMD 的簡單 ALU 可以像 Nvidia 的更複雜的 ALU 一樣處理。
為了選擇一種在 Nvidia 卡上比 AMD 卡性能更好的算法,您不僅必須消除上述 #2 之類的場景,即特定指令恰好在一張卡上比另一張卡更好地實現,您還需要選擇一種數學足夠複雜的算法,以使 Nvidia 的高端 ALU 有機會單獨發光。據我所知,不存在這樣的算法。
為了支持我的陳述,這裡有一些來自oclHashcat網站的範例數據。下表比較了價格相似的 AMD 和 Nvidia 卡的 MD5、SHA1、MD4、NTLM 和 SHA256 算法等的實際性能測量值。
請記住,在比較 PC1/2 和 PC3/4 時,Nvidia 卡實際上在這兩種情況下都具有更高的時鐘速度,但性能仍然更差。在任何情況下,Nvidia 的性能都無法接近同等價位的 AMD 卡的性能,而且據我所知,目前實現的算法還沒有執行足夠複雜的數學運算來利用 Nvidia 卡上更高級的 ALU。
簡而言之,Nvidia 的卡就像一個小房間,裡面有幾個相當聰明的人,每個人都能夠進行複雜的數學運算,而 AMD 的卡就像一個血汗工廠。散列算法相當於量產名牌網球鞋的計算等價物,因此 AMD “血汗工廠”卡的性能將始終領先。