CUDA 總複習:回顧GPU 運算的起源 - NVIDIA 台灣官方部落格-

文章推薦指數: 80 %
投票人數:10人

GPU 將大多數的電晶體用於資料處理,而CPU 也必須為大型快取、控制單元等保留區域。

CPU 處理器的運作原理是將每個執行緒中的延遲最小化,GPU 則是透過運算 ... Skiptocontent Share Email 這是CUDA總複習系列的第一篇文章,目的是為初階或中階開發人員複習CUDA、工具和最佳化的主要概念。

科學探索和商業分析使對運算資源的需求變得永無止境。

許多應用程式如天氣預報、運算流體力學模擬、近期的機器學習和深度學習,需要比目前更多的運算能力,以及更複雜且需要更多運算能力才能執行的演算法。

運算產業仰賴各種方式提供所需的效能,例如提高電晶體密度、指令層級平行化、Dennard縮放比例定律(Dennardscaling)等: 根據摩爾定律的預測,增加積體電路上的電晶體數目推動了運算需求,並使晶片電晶體密度每十八個月便會增加一倍。

雖然在指令層級的平行技術也有助於提升效能,但從2001年左右開始縮減。

直到2005年電壓調節結束時,Dennard縮放比例定律還與摩爾定律結合在一起提供了好處。

在2005年左右,運算的調節開始下降,產業需要替代方案以滿足運算需求。

顯然的,運計算單元進行平行化是未來能夠提高效能的最好方式。

其他的主要因素是功率和通訊技術。

研究顯示功率主要是耗費在通訊技術上,更多更複雜的通信技術意味著更高的功耗並限制了可放入機器中的計算量。

這表示未來的運算應具備功率效率並首選本地化。

GPGPU時代 在90年代和2000年代,圖形硬體是為了滿足特定需求而設計,尤其是圖形產業的工作負載。

但圖形工作負載需要的運算能力越來越高。

因此,效能以每年約2.4倍的幅度提升,然而電晶體倍增所提供的幅度則是每年約1.8倍。

圖1所示為北卡羅來納大學(UniversityofNorthCarolina,UNC)JohnPoulton教授著名的圖形效能軌跡。

圖1:截至2001年的圖形效能軌跡(來源:JohnPoulton教授,UNC) 以每秒三角形數為單位,圖形硬體以每年超過2.4倍的幅度提高效能,比摩爾定律的預測更快。

這是因為電腦圖形運算具有大規模平行性,硬體能加以利用。

2001年,電腦圖形已預告專為圖形而設計的大規模系統的終結。

對開發人員社群而言,這是利用圖形硬體的驚人運算能力並加快醫學影像、電磁學等科學工作負載的動機。

NVIDIA圖形處理單元(graphicsprocessingunits,GPU)最初是為了執行具有高平行性的遊戲和圖形工作負載所設計。

由於遊戲和圖形產業對FLOPS和記憶體頻寬的需求高,因此GPU演變成高度平行的多執行緒多核心處理器,具有強大的運算能力和高記憶體頻寬。

這開創了GPGPU時代:最初只為了加快遊戲、圖形等特定工作負載所設計的GPU通用運算。

混合運算模型 GPU是為了高度平行運算所設計,又稱為高傳輸量處理器。

許多科學和AI工作負載的演算法具有固有的大規模平行性,在CPU上的執行速度可能非常慢。

GPU加速應用程式將這些特別耗時的算式和函式(又稱為熱點),利用GPU的大規模平行性,將原本複雜的運算平行化。

應用程式的其他部分仍將由CPU執行。

您可以將程式碼運算密集和耗時部分交給GPU來運算以加快應用程式,而不必將應用程式完全移動到GPU。

這又稱為混合運算模型。

隨著混合運算興起,兩種處理器共存,但仍有基本差異。

圖2所示為CPU與GPU之間的基本差異。

圖2:GPU貢獻較多電晶體以進行資料處理。

GPU將大多數的電晶體用於資料處理,而CPU也必須為大型快取、控制單元等保留區域。

CPU處理器的運作原理是將每個執行緒中的延遲最小化,GPU則是透過運算隱藏指令和記憶體延遲。

圖3所示為運算執行緒的差異。

圖3:低延遲或高傳輸量。

從圖3明顯可見,CPU架構必須將每個執行緒中的延遲最小化。

在CPU上,每個執行緒都會將資料存取時間最小化(白色長條)。

在單一時間片段中,執行緒會盡可能完成工作(綠色長條)。

為了達成此目的CPU需要低延遲,而這需要大型快取和複雜的控制邏輯。

快取在每個核心只有幾個執行緒的情況下效果最佳,因為在執行緒之間進行脈絡切換的代價高昂。

GPU架構透過運算隱藏指令和記憶體延遲。

在GPU中執行緒為輕型執行緒,所以GPU可像每個時脈週期一樣頻繁的從停滯的執行緒切換到其他執行緒。

如圖3所示,執行緒T1等待資料時另一個執行緒T2開始處理,T3和T4依此類推。

同時,T1最終取得要處理的資料。

如此一來即可切換至其他可用工作以隱藏延遲。

這表示GPU需要眾多重疊的同時執行緒以隱藏延遲。

因此,要在GPU上執行數千個執行緒。

如需更多資訊,請參閱CUDAProgrammingGuide。

所有NVIDIA新聞 GTC2022重點議程 使用NVIDIAFLARE建立穩健且可廣泛應用的人工智慧模型 使用NVIDIAOmniverseReallusionConnector簡化寫實角色的創造流程 本週GFN:封測版《要塞英雄(Fortnite)》透過GeForceNOW聯盟TaiwanMobile雲端遊戲服務於iOSSafari與Android推出 JaguarLandRover宣布成為NVIDIA的合作夥伴 Postnavigation NVIDIA網站透過Cookie提供與改善網站體驗。

請參閱我們的Cookie政策,深入瞭解我們如何使用Cookie以及變更Cookie設定的詳細資訊。

接受 SharethisArticle Friend'sEmailAddress YourName YourEmailAddress Comments SendEmail Emailsent!



請為這篇文章評分?