我試圖了解 CPU 與 GPU 的相對優勢。
引用流行的觀點,“核心越多越好”,所以按照這個邏輯,GPU 應該總是優於CPU,加密貨幣挖掘和量化金融也是如此,因為我剛剛編寫了一個快速程序,可以計算極端的隱含波動率我的 GPU 時間與 CPU 時間的一小部分。
但當我一直在調查這個主題時,我遇到類似的問答這。
如果這個問題可能太寬泛,我深表歉意,但我只接受過基本的電氣工程培訓,並且想知道是否有一個銀彈解釋來解釋為什麼對於正常任務(例如鏈接中描述的任務),CPU 比GPU更受青睞問答:“分支預測、流水線、超級縮放器等”
(作為獎勵,這句話的意思是什麼:「此外,所需的演算法不必處理分支,因為幾乎任何所需的分支都可以透過將係數設為零或一來實現。」)
答案1
GPU 的架構旨在處理向量演算法和程序,例如特別針對圖形的數學計算,它不會進行大量分支和跳轉,而是更關心通過處理器的資料流。因此,它更加精簡,而通用 CPU 具有不同的架構,可以更好地處理跳躍和分支,但會犧牲資料流。
如果您查看這兩種 CPU 類型的佈局,您會發現它們的不同之處。
(我知道這個答案有點蹩腳,但我剛醒來,距離我完成處理器設計已經很多年了。)
答案2
我認為您連結的問題中的第二個答案(不是已接受的答案,而是獲得最多選票的答案)寫得很好並且足夠詳細。
如果您願意更深入地了解其中提到的概念,我認為您最好針對每個概念提出單獨的問題(並解釋您到底不理解什麼)。原因是這些概念既是建築學的又是微建築學的,它們在任何可接受的水平上的描述都需要一個單獨的問題。
打個比方,您可以將 CPU 視為一把瑞士刀 - 它可以做很多事情,並且在任何情況下都會很有幫助。然而,如果您知道自己要為 300 人切一份沙拉,那麼任何菜刀都會勝過最先進的瑞士刀。 GPU是一把菜刀。
CPU 更適合「普通」使用者執行的各種任務。但是,如果使用者知道該任務需要大量數學計算,則應考慮 GPU。如果該任務除了數學計算之外還可以並行——該任務可以被標記為「GPU定制」。