2014年11月3日

化身為上千個孫悟空大戰眾多妖魔鬼怪──GPU

作者/張智為(任職輝達(NVIDIA)資深經理)

如果要談論圖形處理器(Graphic Processing Unit, GPU),我們必須要先談何謂平行運算。

在電腦計算領域中常有一些實際問題或應用需要複雜的運算或是處理大量的資料,例如量子力學、宇宙學和天體物理學、計算流體力學、生物資訊、大氣模擬與預測、即時影像處理等,這些相關研究領域經常在處理資料時耗費非常多的計算時間,所以,早在十幾年前就開始有人研究如何讓多台電腦串在一起進行運算:若一台電腦運算需要花費一天的時間,那如果超過無數台電腦串連?搞不好一秒就完成了!其中,如何分配計算工作給這些電腦去做處理,以及一些運算資料的交換、分配計算資源或排定計算工作等問題,這些問題的處理方式就牽涉到許多「平行計算」的基本概念。何謂平行運算呢?

平行計算的背景
舉例來說,一個開披薩店的老闆,有一部送披薩的車,要如何更快速的把披薩送到客戶手裡? CPU(Central Processing Unit,中央處理器)的處理就是提高披薩車容量(提高快取記憶體容量)裝更多披薩,可以更快的送貨(處理),或者提高車子的性能讓車子開更快(提昇CPU時脈),不過更快的方式是雇用更多騎小綿羊外送員,一次載一個到兩個披薩同時出發送貨(平行運算),這個情節就像是孫悟空拔下幾根身上毛髮,一下子就有無數個孫悟空大戰妖魔鬼怪!

所以近年來, 越來越多人開始將大量運算的工作交給GPU,他們發現了使用多核心GPU的平行計算能力,比使用單一或是八核心CPU運算所帶來的效能提高許多,所以,越來越多的科學研究或是應用問題開始使用多核心GPU的架構來解決。

GPU的應用
石油及天然氣業
石油和天然氣變得越來越難被發現。大型石油及天然氣礦藏於更深處之沉積物間被發現,使得開採越加困難,分析地質資料更形困難(下圖表示開採過程),例如在墨西哥灣發現的石油,便位於超過2萬呎深的海底。為了解譯及發現這些礦藏,必須獲得並處理大量的地質資料及高解析度影像,而這也意味著有更多資料要電腦處理。然而勘測與鑽探深井的費用高達數億美元,且往往只有一次機會,石油開採公司因此陷入兩難,煩惱如何更快分析大量地質資料並節省費用,這時候適合GPU平行運算就派上用場!
開採過程:從圖左方的海上開採平台,獲取海面下的大量地質資料後,
經過衛星傳送到電腦分析,經由電腦分析後將正確地質資料傳送回海上開採平台,
這時候開採平台可以準確開採石油及天然氣。

紡織業
虛擬時裝秀會是未來的潮流嗎?這並不一定,不過位於以色列佩塔提科瓦(Petach Tikva)的OptiTex有限公司已經以它的3D計算機輔助設計∕製造(CAD/CAM)技術,將設計產業帶領至一個全新的層次。

傳統上,設計師必須實際地做出衣料樣品,作為真正服裝生產線上的原型,並且在可能的投資者面前展示,這是一個十分耗時且昂貴的過程,且會造成大量的資源浪費。OptiTex 3D經由設計師在虛擬模特兒身上模擬服裝設計的外觀及姿態,使他們得以在第一塊布料最終被剪下之前,檢視、修飾以及測量樣本。

為了應付這樣的設計挑戰,OptiTex採用GPU的平行運算來重建其布料模擬引擎的數據。此一GPU計算解決方案已使開發者能夠去除在CPU 環境上的瓶頸,並且獲得高達10倍的效能改進。當季產品的開發時間一般而言需要90天,但有了改組後的OptiTex三維解決方案,上市時間被大幅縮短至僅僅35天。

天氣預報模型
颱風、颶風及龍捲風對經過的地區會造成嚴重破壞,現在又將面臨因「城市熱島效應」而造成局部地區豪大雨的頭痛問題。

基於準確天氣預報來針對此類氣候現象所提出的早期預警,目前僅能做到防範的目的。因此氣象研究人員長期努力開發多樣化的預報技術,以模擬各種氣候現象。在數字化的天氣預報裡,會將每個區域分割成網格以建立模型,10公里或更小尺寸網格的模型,一般稱為中尺寸模型(mesoscale model)。在此模型裡,假設垂直重力與氣壓不再達到平衡,也必須計算空氣的垂直移動,地面加熱了濕空氣,上升到天空中而形成雲,空氣裡的水氣凝結成水滴。10公里的網格尺寸還不足以描述形成雲的過程,積雨雲的直徑一般都在10公里左右,也就是說需使用比10公里更小的解析度。但是縮小網格尺寸會造成計算量增加,按照現有的運算速度難以進行實際預報作業。

目前日本氣象廳開發出下一代的中尺寸天氣預報模型,稱為「ASUCA」。 與其他只使用GPU當成加速器的天氣模型不同之處,在於東京工業大學的青木尊之教授與下川辺隆史先生採用 CUDA(Compute Unified Device Architecture)平行處理架構,將幾乎所有ASUCA碼移植到GPU上。他們部署多項創新技術,以大幅加快整個應用程式的運算速度,在GPU記憶體上分配風速、氣壓、濕度和其他必要變數,並重疊通訊內容與運算內容,以強化在多GPU系統上的執行效能。

東京工業大學從2010年11月開始運行超級電腦TSUBAME 2.0, 使用4224顆Tesla M2050 GPU,擁有2.4 PFLOPS峰值效能。在TSUBAME 2.0上運行移植的ASUCA碼,效能高到足以進行網格尺寸小到500公尺的數字化預報。

電影產業
你知道嗎?連續第5年了,每一部被提名角逐奧斯卡最佳視覺特效獎的電影,都是由GPU的技術所驅動,這些電影皆是仰賴 NVIDIA GPU,才能在電影特效人員的電腦及渲染作業流程中完成突破性的視覺效果。

舉個例子,大家如果還記得,在電影《2012》中,因為大自然的反撲,造成人類浩劫,在這部電影中共有103個超大電腦特效場景,一般要用4個月的資料建構,外加4個月電腦運算處理,資料量1.2 pega byte(相當於120萬GB),其中一個經典特效是航空母艦壓毀白宮的那段連續特效,其中有包括雲層光線效果的模擬,一連串爆炸與火焰的模擬成像,共有300個圖層級及單元物件。你可以想像,一般你在家製作家庭影片頂多加字幕、換頁特效,頂多10個圖層就需要超過數十分鐘,更何況有300個圖層要同時在幾秒中完成!

電影製片公司及電影導演當然不希望,當需要請電影特效人員多加一個特效時,電影特效人員卻告知要2 天後才能看特效,所以電影特效人員需要的是同步對影像資料執行播放,並且具有來回檢視的功能,因為特效人員所有的畫面是立即創作,不是儲存在硬碟上,要能夠立即執行編輯、即時顯示、互動式檢閱,這時候平行運算的GPU就派上用場!

GPU未來展望
GPU的好處是投資成本很低,大約1~2萬新臺幣就能購入支援GPU計算加速的顯示卡,還可降低耗電及節省機房空間。若GPU的運算方式可以大量被運用,表示可以用更少的費用,得到更高的計算效能。而當GPU叢集電腦可以取代傳統叢集電腦時,不僅是綠色IT的體現,當研究工作產出從「天」,變成「小時」,到「分鐘」的時候,其所帶來的創新及影響性,將會為現行的研究模式、臨床應用,帶來一番新的風貌。

沒有留言: