跳到主要內容

科技大觀園商標

分類項目
Menu

拚「圖」大作戰–細說圖形處理器的強大計算能力

101/05/24 瀏覽次數 19644
您能想像自己坐在一台非常特殊的汽車上,體驗由火箭引擎所帶來的極致動力速度嗎?這個境界在高速計算領域已經不是一件難事了!因為近三年來高速計算領域有了重大的變革,「圖形處理器」(Graphics Processing Unit,以下簡稱GPU)就是這個改變的主要動力。

對於大部分的讀者而言,GPU可能很陌生,它究竟跟以前的高速計算(High Performance Computing,以下簡稱HPC),以大量的中央處理器( Central Processing Unit,以下簡稱CPU)與超高速網路通道(UltraFast Network Connection)來處理絶大部分的計算工作有何不同?本文將帶領讀者一窺GPU,共同探索GPU計算的奧秘世界。

不只是為了遊戲

回顧這十年顯示卡的發展,它帶給我們許多的回憶,比如:雷神之鎚(Quake), 戰慄時空(Half-Life)系列及其他許多3D遊戲等。許多讀者或許玩過這些遊戲,甚至寫過CPU的「軟體式」算圖引擎(rendering engines),進行比如座標轉換、多邊形繪製、光線追蹤等繁重的計算。而由於顯示卡的主要核心就是GPU,因此當這些遊戲熱賣的同時,也促使了GPU效能發展到另一個新的境界。現在,這些動畫的計算工作如果利用GPU,將可以達到一秒鐘內處理10億個格點之計算量,如此驚人的速度,遠非CPU能及。

目前為止,GPU之發展仍飛速前進,這由遊戲產業每年挹注千萬美元在高效率的GPU晶片研發上,就不難瞭解原因。筆者是一位電玩愛好者,同時也是擁有工程博士學位的研究人員,早在2008年觀察到這個國際趨勢,即參與國網中心的研發團隊,著手進行GPU計算取代CPU的研究,讓GPU不單只是遊戲的專利,更成為科技研發的豐沛計算泉源。

專為計算而設計的計算加速

目前世界上的許多研究人員已經將「通用計算圖形處理器」(General Propose Graphics Processing Unit,以下簡稱GPGPU)加入自己的研究,國網中心研發團隊也不例外地將GPGPU列為為重點的發展項目,並已擁有相當數量的GPGPU計算卡,應用於各項研究與學界服務。此外,國網中心自行研發建置叢集計算系統,包含88個計算節點、264張計算專用加速卡、與頻寬40Gbps的高速網路交換系統,每張計算卡高達0.5 Teraflops的計算能量,整體效能超過70Gigaflops,為台灣目前最大GPU叢集計算主機。而經過近三年的研究與開發,國網中心已發展出許多新穎的演算法於GPGPU計算的最佳化,並得到相當好的研究成果。

小事一樁的紊流模擬(Turbulent Flow Simulation for a Dollar)

紊流,或稱為「亂流」模擬,是需要投入相當費用與時間的研究課題。一個紊流場模擬,需要相當高的解析度,才不會因為數值方法的誤差,讓紊流現象在流場中消失。由於這些模擬需要大量的計算資源與相當長的計算時間,國網中心的研究人員特別將GPGPU計算加入紊流模擬中,並開發了許多在GPU上有效率的數值方法。這些數值方法,可以同時利用數十張GPU計算卡,加速紊流之計算模擬。因此,一個高達數億以上網格點的紊流場模擬,也僅需數小時就可以得到模擬的結果。相對於從前,這樣的模擬工作,需要耗費數個月的時間,並需要數百個CPU才可達到。現在,則是輕而易舉、小事一樁。

要有相當的收穫必有相當程度的付出

GPU計算的設計原理,就是為了同時處理大量且相同的計算特性。但是,目前市面上並沒有任何一種有效的編譯器或程式,可以讓傳統的程式直接在GPGPU上運行,許多演算法也不是這樣設計的,這讓大部分的研究人員非常困擾。國網中心的研究人員深黯其中原理,開發程式時就事先考量並善用這個特性,讓程式得以完美的運行於GPU上,充分發揮GPU的真正效益。回首GPU研發過程,充滿困難與複雜性,但其中隱藏的研究價值與機會,卻讓研究人員勇於挑戰,樂此不疲。

GPU計算的未來

數值分析是大學中相當重要的課程,更好的數值方法有賴年輕學子不斷努力與精進,才能開發出更高效率的GPGPU程式,提升GPU的計算能力。放眼未來,相信只要市場對硬體有更大的需求,勢必會繼續帶動GPU的腳步快速前進,進而影響HPC領域的發展。筆者衷心期盼將來科學與工程模擬的數值方法,能朝向更高效能的境界邁進,讓GPU計算的未來,拚出一個更光明的前「圖」!
OPEN
回頂部