GPU 與 CUDA
事實(shí)證明,高端游戲玩家和計(jì)算機(jī)科學(xué)家在硬件需求上有不少交集。計(jì)算機(jī)科學(xué)家們逐漸發(fā)現(xiàn),利用 GPU 的大量核心執(zhí)行復(fù)雜數(shù)學(xué)運(yùn)算,在 HPC 領(lǐng)域有巨大應(yīng)用前景。但是,寫出能高效運(yùn)行于 GPU 的代碼極度困難。想要駕馭 GPU 計(jì)算性能的研究人員,必須把相關(guān)運(yùn)算“黑進(jìn)”圖形 API,讓顯卡以為要處理的計(jì)算任務(wù)和游戲一樣:決定像素色彩的圖像渲染計(jì)算。
但一切在 2007 年發(fā)生了變化。這一年,英偉達(dá)發(fā)布了 CUDA(Compute Unified Device Architecture)。 它支持 C 語言環(huán)境的并行計(jì)算。對于那些靠 C 語言發(fā)家的程序猿,他們可以直接開始寫基礎(chǔ)的 CUDA 代碼,一系列運(yùn)算任務(wù)從此可以很容易地并行處理。
CUDA 誕生的結(jié)果是:似乎在一夜之間,地球上的所有超級計(jì)算機(jī)都采用了 GPU 運(yùn)算。深度學(xué)習(xí)、自動駕駛以及其他 AI 領(lǐng)域開始煥發(fā)光芒。
并行計(jì)算
并行計(jì)算是發(fā)揮 GPU 性能的關(guān)鍵。這意味著你可以同時處理運(yùn)算,而不是一步步進(jìn)行。復(fù)雜問題可被分解為更簡單的問題,然后同時進(jìn)行處理。并行計(jì)算適用于 HPC 和超算領(lǐng)域所涉及的許多問題類型,比如氣象、宇宙模型和DNA 序列。
并不是只有天體物理學(xué)家和氣象學(xué)家才能充分利用并行計(jì)算的優(yōu)點(diǎn)。事實(shí)證明,許多企業(yè)應(yīng)用能從并行計(jì)算獲得超出尋常比例的好處。這包括:
數(shù)據(jù)庫查詢
密碼學(xué)領(lǐng)域的暴力搜索
對比不同獨(dú)立場景的計(jì)算機(jī)模擬。
機(jī)器學(xué)習(xí)/深度學(xué)習(xí)
地理可視化
你可以聯(lián)想一下你們公司所面臨的數(shù)據(jù)問題——那些數(shù)據(jù)量和復(fù)雜程度極高,你以前連想都不敢去想怎么處理,但深層次分析很有可能會有助于解決的問題。我懷疑這樣的問題是可并行計(jì)算的——而 CPU 層次的計(jì)算解決不了,不代表 GPU 也不行。
CPU vs. GPU 小結(jié)
作為小結(jié),GPU 在以下方面有別于 CPU:
一枚 GPU 芯片有幾千個核心。通常意義的 CPU 最多只有 22 個。
GPU 為高度并行的運(yùn)行方式而設(shè)計(jì)。CPU 為一步步的連續(xù)計(jì)算而設(shè)計(jì)。
GPU 的內(nèi)存帶寬比 CPU 高得多。
CPU 適合于文字處理、運(yùn)行交易數(shù)據(jù)庫、網(wǎng)絡(luò)應(yīng)用等場景。 GPU 適用于 DNA 排序、物理建模、消費(fèi)者行為預(yù)測等任務(wù)。
經(jīng)濟(jì)成本
上文中,我討論了問什么 GPU 代表著計(jì)算的將來。但它的商用價(jià)值如何呢?
GPU 在經(jīng)濟(jì)成本上其實(shí)占優(yōu)勢。首先,一個完整的 GPU 服務(wù)器比一個完整的 CPU 服務(wù)器要貴很多。但兩者之間難以直接對比。一個完整的 8 路 GPU 服務(wù)器,成本可達(dá)八萬美元。但一個中等的 CPU 服務(wù)器配置大約只需要 9000 刀。當(dāng)然,RAM 和 SSD 的使用量對價(jià)格有很大影響。
咋看之下,CPU 好像比 GPU 劃算多了。但請注意,250 個這樣的“中等” CPU 服務(wù)器在并行計(jì)算性能才相當(dāng)與一臺如上所說的 GPU 服務(wù)器(注:只是作者個人的估算,以支撐他的觀點(diǎn),大家看看就好)。
很明顯,如果你要做的只是并行計(jì)算,選擇 GPU 服務(wù)器要劃算多了。極端情況下,如果硬要上 250 臺 CPU 服務(wù)器,加上電費(fèi)、場地費(fèi)、網(wǎng)費(fèi)、溫控、維護(hù)管理費(fèi),最終價(jià)格會是天文數(shù)字。因此,如果并行計(jì)算占了公司工作量的大部分,從投資回報(bào)率的角度,GPU 是正確的選擇。
對生產(chǎn)力的影響
在延遲對數(shù)據(jù)分析的影響方面,我已經(jīng)寫了很多。我的基本論點(diǎn)是:當(dāng)一個開發(fā)者需要等待幾分鐘才能得到查詢結(jié)果,人的行為會發(fā)生變化。你開始找捷徑,你開始用更小的數(shù)據(jù)集執(zhí)行查詢操作,你只會執(zhí)行不耗費(fèi)時間的查詢,你不再探索——執(zhí)行幾個查詢就把這當(dāng)做是方向。
提高計(jì)算機(jī)響應(yīng)速度對生產(chǎn)力的提升很難衡量。但你可以想一想,寬帶時代和撥號時代的生產(chǎn)力差別。
最后,在云時代,與其建立自己的 GPU 服務(wù)器, 租用 GPU 云計(jì)算服務(wù)對于很多客戶來講十分劃算。GPU 計(jì)算的門檻已經(jīng)無限降低。
via mapd
評論