GPU 計算是使用圖形處理單元 (GPU) 來執行曾經由中央處理器 (CPU) 處理的高度并行的獨立計算。
GPU計算的歷史
傳統上,GPU 一直用于加速計算機圖形的內存密集型計算,例如圖像渲染和視頻解碼。這些問題很容易并行化。由于眾多的核心和優越的內存帶寬,GPU 似乎是圖形渲染不可或缺的一部分。
雖然 GPU 驅動的并行計算對于圖形渲染至關重要,但它似乎也適用于某些科學計算工作。因此,GPU 計算在 2006 年開始更加快速地發展,變得適用于廣泛的通用計算任務。
改進現有GPU指令集,允許更多指令集在單個時鐘周期內執行,使GPU計算性能穩步增長。今天,隨著摩爾定律放緩,甚至有人說它已經結束,GPU 計算正在保持它的步伐。
CPU 與 GPU:有何區別?
CPU 是面向延遲的,可以快速處理復雜的線性任務,而 GPU 是面向吞吐量的,可以實現巨大的并行化。從架構上講,CPU 由幾個具有大量高速緩存的內核組成,這些內核可以使用順序串行處理同時處理幾個軟件線程。相比之下,GPU 由數千個可以同時管理多個線程的較小內核組成。即使 CPU 可以處理相當多的任務,它也不會像 GPU 那樣快。GPU 將復雜的問題分解為數千個獨立的任務并同時處理它們。
GPU 計算的優勢和劣勢
GPU 是一種專門的協處理器,它在某些任務上表現出色,而在其他任務上表現不佳。它與 CPU 協同工作,以增加數據吞吐量和應用程序中的并發計算數量。那么 GPU 計算到底有多出色呢?
算術強度
GPU 可以很好地應對高運算強度。如果算法與內存操作的比率至少為 10:1,則該算法是 GPU 加速的良好候選者。如果是這種情況,您的算法可以受益于 GPU 的基本線性代數子例程 (BLAS) 和眾多算術邏輯單元 (ALU)。
高度并行
并行計算是一種同時進行許多獨立計算的計算類型。大問題通??梢苑殖奢^小的部分,然后同時解決。GPU 計算就是為這樣工作而設計的。例如,如果可以對數據進行矢量化并調整算法以同時處理一組值,則可以輕松獲得 GPU 計算的好處。
足夠的 GPU 顯存
理想情況下,您的數據批次必須適合 GPU 的本機內存,以便進行無縫處理。雖然有同時使用多個 GPU 或簡化系統內存中的數據的變通方法,但有限的 PCIe 帶寬可能成為此類場景中的主要性能瓶頸。
足夠的存儲帶寬
在 GPU 計算中,您通常處理大量數據,其中存儲帶寬至關重要。如今,基于 GPU 的科學計算的瓶頸不再是每秒浮點數 (FLOPS),而是每秒 I/O 操作數 (IOPS)。根據經驗,評估系統的全局瓶頸總是一個好主意。如果您發現您的 GPU 加速收益將被存儲吞吐量限制所抵消,請首先優化您的存儲解決方案。
GPU計算應用
GPU 計算正用于眾多現實世界的應用程序。如果沒有 GPU 計算,我們今天認為理所當然的許多著名科學和工程領域不會進步得如此之快。
深度學習
深度學習是機器學習的一個子集。它的實現基于人工神經網絡。從本質上講,它模仿大腦,讓神經元層并行工作。由于數據表示為一組向量,因此深度學習非常適合 GPU 計算。在配備 GPU 加速器的專用服務器上訓練卷積神經網絡時,您可以輕松體驗高達4 倍的性能提升。最重要的是,每個主要的深度學習框架(如 TensorFlow 和 PyTorch)都已經允許您使用開箱即用的 GPU 計算,而無需更改代碼。
藥物設計
新藥的成功發現在各個方面都很難。在 Covid-19 大流行期間,我們都意識到了這一點。Eroom 定律指出,發現一種新藥的成本大約每九年翻一番?,F代 GPU 計算旨在改變 Eroom 定律的軌跡。Nvidia 目前正在建造Cambridge-1——英國最強大的超級計算機——致力于醫療保健和藥物設計方面的人工智能研究。
地震成像
地震成像用于為石油和天然氣行業提供地球地下結構的知識并檢測油藏。地震數據處理中使用的算法發展迅速,因此對額外計算能力的需求巨大。例如,使用 GPU 計算時,逆時偏移方法可以加速高達 14 倍。
汽車設計
瞬態和湍流問題的流場計算是高度計算密集型和耗時的。傳統技術通常會在基礎物理學上妥協并且效率不高。計算流體流動的新范例依賴于 GPU 計算,它可以幫助實現比單個 CPU 的顯著加速,甚至高達 100 倍。
天體物理學
GPU 極大地改變了天文學中高性能計算的格局。以 N 體模擬為例,它在數值上近似于一個物體系統的演化,其中每個物體不斷地與其他物體相互作用。通過使用 GPU 計算而不是使用高度調優的串行 CPU 實現,您可以將全對 N 體算法加速多達 25 倍。
期權定價
期權定價理論的目標是為交易者提供期權的公允價值,然后將其納入他們的交易策略。此類模擬中經常使用某種類型的蒙特卡羅算法。與僅使用 CPU 的方法相比,GPU 計算可以幫助您實現單位成本提高 27 倍的性能。
天氣預報
近幾十年來,天氣預報極大地受益于單純計算能力的指數增長,但這種搭便車即將結束。如今,天氣預報由基于廣泛 GPU 計算的細粒度并行性驅動。僅這種方法就可以確保天氣預報模型速度提高 20 倍。
云中的 GPU 計算
盡管 GPU 計算曾經主要與圖形渲染相關聯,但它已發展成為許多不同科學和工程領域中高性能計算的主要驅動力。大多數 GPU 計算工作現在都在云端或使用內部 GPU 計算集群完成。在 Cherry Servers,我們提供帶有高端 Nvidia GPU 加速器的專用 GPU 服務器。我們的基礎設施服務可以按需使用,這使得 GPU 計算變得簡單且經濟高效。云供應商已使 GPU 計算大眾化,使其可供全球的中小型企業使用。如果黃氏定律持續下去,GPU 的性能將每兩年翻一番以上,創新將不斷萌芽。