GPU 與 CPU 之間有什麼區別?
CPU 或中央處理單元是一種硬體元件,它是伺服器中的核心運算單元。它可處理執行作業系統和應用程式所需的所有類型的運算任務。圖形處理單元 (GPU) 是類似的硬體元件,但更專業。相較於一般 CPU,它能夠更有效地處理平行執行的複雜數學運算。雖然 GPU 最初是為處理遊戲和動畫中的圖形轉譯任務而建立,但現在其用途遠遠超出這種情況。
GPU 與 CPU 之間的相似之處
CPU 與圖形處理單元 (GPU) 都是讓電腦運作的硬體單元。您可以將其視為運算裝置的大腦。它們都具有相似的內部元件,包括核心、記憶體和控制單元。
核心
GPU 與 CPU 架構都具有執行所有運算和邏輯功能的核心。核心以稱為位元的數位訊號形式,從記憶體中提取指令。它對指令進行解碼,並在稱為指令週期的時間範圍內,透過邏輯門執行它們。CPU 最初具有單一核心,但現在多核 CPU 和 GPU 很常見。
記憶體
CPU 與 GPU 每秒都會完成數百萬次計算,並使用內部記憶體來改善處理效能。快取記憶體是內建的記憶體,可促進資料的快速存取。在 CPU 中,標籤 L1、L2 或 L3 表示快取排列。L1 最快,L3 最慢。記憶體管理單元 (MMU) 可控制每個指令週期中 CPU 核心、快取記憶體與 RAM 之間的資料移動。
控制單元
控制單元可同步處理任務,並確定該處理單元產生的電脈衝頻率。CPU 和 GPU 的頻率越高,提供的效能則越佳。然而,這些元件的設計和組態在 CPU 和 GPU 上有所差異,因此兩者在不同的情況下都很有用。
主要差異:CPU 與GPU
電腦圖形和動畫的出現,產生了 CPU 根本沒有設計進行處理的首個運算密集型工作負載。例如,電玩遊戲動畫需要應用程式處理資料,以顯示數千個像素,每個像素都有自己的色彩、光線強度和移動。當時 CPU 上的幾何數學計算引起效能問題。
硬體製造商開始認識到,卸載常見的多媒體導向任務可減輕 CPU 並提高效能。如今,相較於 CPU,圖形處理單元 (GPU) 工作負載可更有效地處理多個運算密集型應用程式,例如機器學習和人工智慧。
功能
CPU 與 GPU 之間的主要區別在於其功能。伺服器無法在沒有 CPU 的情況下執行。CPU 會處理伺服器上所有軟體正確執行所需的所有任務。另一方面,GPU 支援 CPU 來執行並行計算。GPU 可更快地完成簡單和重複的任務,因為它可以將任務分解為更小的元件以及平行完成任務。
設計
GPU 透過多個核心或演算法邏輯單元 (ALU),在平行處理中表現出色。GPU 核心的功能不如 CPU 核心,而且記憶體較少。雖然 CPU 可在不同的指令集之間快速切換,但 GPU 只需大量相同的指令,並以高速推送它們。因此,GPU 功能在平行運算中發揮著重要作用。
差異範例
為了更好地理解,請考慮以下類比。CPU 就像一間大餐館的主廚,必須確保數百個漢堡被翻轉。即使主廚可以親自做到,這也並非以最佳方式利用時間。當主廚完成這項簡單但耗時的任務時,所有廚房操作可能會停止或減慢速度。為了避免這種情況,主廚可使用平行翻轉幾個漢堡的初級助理。GPU 則更像是擁有十隻手的初級助理,可在 10 秒內翻轉 100 個漢堡。
何時透過 CPU 使用 GPU
請務必注意,CPU 與圖形處理單元 (GPU) 之間的選擇不時非此即彼,或只能選擇一個。雲端中的每個伺服器或伺服器執行個體都需要 CPU 才能執行。不過,有些伺服器也包括 GPU,來做為額外的副處理器。特定工作負載更適合在以下伺服器上執行︰擁有可更高效執行特定功能的 GPU 的伺服器。例如,GPU 非常適合用於浮點數計算、圖形處理或資料模式比對。
以下是一些在 CPU 上使用 GPU 可能很實用的應用程式。
深度學習
深度學習是人工智慧 (AI) 中的一種方法,可指導電腦以受人腦啟發的方式來處理資料。例如,深度學習演算法可識別圖片、文字、聲音和其他資料的複雜模式,藉此產生更準確的洞察和預測。GPU 型伺服器可針對機器學習、神經網路和深度學習任務提供高效能。
高效能運算
術語高效能運算是指需要非常高的運算能力的任務。以下是一些範例:
- 您需要以特定速度和規模,執行地球科學模擬和地震處理
- 您需要預測財務模擬,以識別產品組合風險、對沖機會等
- 您需要在醫學、基因體學和藥物探索中建置預測性、即時或回溯性資料科學應用程式
GPU 型電腦系統更適合執行這類高效能運算任務。
自動駕駛汽車
若要開發和部署進階駕駛輔助系統 (ADAS) 和自動駕駛車輛 (AV) 系統,您需要高度擴展的運算、儲存、聯網與分析技術。例如,您需要資料收集、標示和註解、地圖開發、演算法開發、模擬和驗證等功能。如此複雜的工作負載需要 GPU 型電腦系統的支援,才能有效運作。
差異摘要:CPU 與GPU
CPU |
圖形處理單元 (GPU) |
|
函數 |
處理伺服器主要處理功能的一般元件 |
擅長平行運算的專用元件 |
處理 |
專為串列指令處理而設計 |
專為平行指令處理而設計 |
設計 |
核心更少、更強大 |
核心比 CPU 更多,但功能不如 CPU 內核 |
最適合 |
一般用途運算應用程式 |
高效能運算應用程式 |
AWS 如何支援您的 CPU 和 GPU 伺服器需求?
Amazon Web Services (AWS) 提供 Amazon Elastic Compute Cloud (Amazon EC2),這是最廣泛和最深入的運算平台。它擁有超過 500 個執行個體,並可選擇最新的處理器、儲存、聯網、作業系統和購買模式,協助您以最佳方式滿足工作負載的需求。
以下是 Amazon EC2 提供的一些亮點:
- 一般用途執行個體可在運算、記憶體和聯網資源之間取得平衡。您可以在具有 2-128 個虛擬 CPU 的組態之間進行選擇。
- 加速運算執行個體提供額外的圖形處理單元 (GPU) 核心,具有額外的運算能力。每個執行個體最多可取得八個 GPU。
立即建立免費帳戶,開始使用 AWS 上的伺服器執行個體。