【探索22-7】計算工程與科學的推手—高效能計算

隨著電腦軟硬體技術的發展,大幅提升的計算能力在各個科學研究領域都成為新興的生力軍,讓我們在傳統的觀測、推導以外,還能透過模擬的過程輔以研究,繼而更深刻、更視覺而具象地認識到這個世界運作的法則。由許文翰教授來聊聊近年高效能計算的發展,佐以不同領域中計算和科學、工程結合後實際應用的例子,帶領各位了解計算科學與工程的前景與潛能,以及學生如何能進入這個熱門且重要的研究領域。

講者|臺大工程科學及海洋工程學系特聘教授 許文翰
彙整撰文|蘇建翰

●快速發展的高效能計算

高效能計算(High Performance Computing),或說高速計算,已經成為科學研究的熱門領域,吸引有志引領趨勢的國家爭相投入資源。透過每年六月和十一月發布的全球五百大超級電腦排名(TOP500)[1],可以觀察一個地區高效能計算的發展概況。以今年(2019)六月所發布的排名為例,在數量上亞洲以中國(44%)、日本(5.6%)為首擁有前五百大近半的數量,亞洲以外則屬美國(23.2%)最具分量;在效能上居龍頭位置的則是美國(38.5%),追趕在後的則為中國(29.9),以及日本(7.4%)。高速計算的能力與國力強弱息息相關,前述排名即可作為這件事實的佐證。在主要的領導者美國、中國以外,其他上榜的國家如日、德、法等也是傳統科技大國。

圖一、超級電腦Summit (來源:OLCF at ORNL @flickr, CC BY 2.0)

衡量超級電腦運算能力常用的單位為PF(Peta-Flops),1 PF即每秒能夠進行千萬億次(10的15次方)浮點運算的能力。目前全球排行第一為美國的超級電腦Summit,運算能力高達148.6 PF,相比1993年TOP500首次發布時,最快的超級電腦CM-5擁有的59.7 GF運算能力,這二十五年的成長高達兩百萬倍以上,可見此領域發展的迅速程度。臺灣在這個領域自然也沒有缺席,在1991年即成立國家高速網路與計算中心(國網中心),除了外購,近年來國網中心也開始嘗試自行研發超級電腦:2012年研發的Formosa 5成功地躋身TOP500之林,今年的臺灣杉二號更是在TOP500中排名第二十強,締造台灣在這項紀錄的新高。

●高效能運算的萬千應用

伴隨著高效能運算的巨量計算能力,就能將之應用在許多工程、科學領域,範圍可說是相當廣泛。在這裡,許文翰教授也舉出他帶領SCCS實驗室(Scientific Computing and Cardiovascular Simulation Laboratory)所做出的研究為例,在其中即可見和車輛設計有關的空氣動力學問題,透過對相關方程式的模擬並以視覺化的方式呈現,可以讓人很具體地認識不同的外型設計會導致車身前後流場有何改變,另外,車子內部的空調位置如何設計這類問題,也可以透過對車身內部的流場分析進行最佳化。掌握這一套建置模型進行模擬的研究方法後,許多應用也就相應而生,比如流經腳踏車的流場分析、都會地區高樓的風場分析等等,其中針對水下載具的噪音模擬、離岸風機模型建立的研究也能與近來國艦國造、離岸風電等熱門議題有所結合。

圖二、透過高效能運算進行的車尾流場分析(來源:許文翰教授)
圖三、心血管的流量分析,可輔助全靜脈肺動脈吻合手術(來源:許文翰教授、蔡順峯教授)

除了前述和一般對工程領域的印象貼近的例子,現在高效能運算也和醫學結合,比如SCCS實驗室就有對心血管進行建模來分析血流量及管壁壓力等的研究,這些研究分別可以與全靜脈肺動脈吻合手術結合,找出最佳的下刀位置,或是與大動脈轉位手術結合,在不同的手術方法中找出效果較好的一種。與高效能運算的結合,使得精準醫療從理想逐漸走向可實現輔助腫瘤燒灼的規畫,這有助于達成精準醫療的目的。另外,像是腫瘤是否存在與判斷良、惡性的分類,也可以透過高效能運算與機器學習的技術來實現,目前SCCS團隊對於肺臟腫瘤以及肝臟腫瘤良性、惡性間的判斷分別可以達到95%與86%的成功率,這個數字並不遜於訓練有素的醫生。

●新興的CSE系所與學生如何進入計算科學的天地

從前述的介紹中可以知道,計算科學與工程學其實是受惠於快速成長的運算能力並與各個應用領域的知識整合的學門,擁有自然科學、工程學或是社會科學中特定應用所需的領域知識後,即可以將其與計算科學做結合。這種不受限制的特性很快就成為熱門的目標,近年來許多歐美知名大學紛紛成立CSE (Computational Science and Engineering)系所,用以將各研究領域和計算科學的資源進行整合,可說是這一熱潮下產生的現象。這一股風氣雖然尚未普遍見於亞洲國家,不過也已可在韓國、新加坡看見CSE系所的設立,許文翰教授在此也指出臺灣如果要加入這一潮流,未來在大學內成立CSE系所並整合相關的資源是重要的一步。

組成CSE領域的基本部分可以分為四個:(1) CSE的架構(Frameworks of CSE):對高速計算的認識、資料視覺化等;(2) 數學基礎(Mathematical Foundations):例如線性代數、最佳化等等;(3) 電腦科學基礎(Computing Foundations):例如程式能力、演算法等等;(4) 物理基礎(Physical Foundations):例如電磁學、流體力學等領域知識。對於學生要如何進入計算科學的天地這個問題,工業與應用數學會(Society for Industrial and Applied Mathematics, SIAM)建議修習的課程分為兩類,分別是數學與電腦科學(Mathematics and Computer Science)以及所欲應用的領域知識(Application Area)。

細看前面這些基本部分或是課程分類就可以發現,編寫程式的技能都是不可或缺的,因此許文翰教授在演講中也多次提及編寫程式的重要性,對於此熱門領域有興趣的學生可以盡早學習程式的編寫,而家長也可以鼓勵其孩童即早接觸程式,因為只要學會基本的程式能力之後,在學習的過程所碰到課本裡的方程式或是圖表,就可以自己撰寫程式重新實作出來,而不再只是由符號所組成的抽象概念,從而可獲得成就感,不僅能帶動學習意願的提升,在充滿樂趣下也就更能將成功的喜悅投注在學習上。

●實現一場高效能運算的夢

高效能運算已經成為新興高端產業一個的火車頭,由其所帶動的新經濟諸如工業4.0、精準醫療、5G通訊-8K顯示產業等都是未來的趨勢。對於臺灣的高效能運算,許文翰教授也提出了他的夢想,而這個夢想的實現需要各方的加入:政府要建構優質的高效能計算環境、儘早地推動相關的教育;年輕世代則需要具備編寫科學平行計算程式的能力,持續學習工程與科學的新知,並關注與高效能運算相關的新興產業;企業家可以加重投注資源在高等教育的高速計算學門,並協助相關新創事業的發展。

圖四、高效能運算是發展新興高端產業不可或缺的要素(來源:許文翰教授及溫皓良同學)

 

在未來,高效能運算的價值將可以在物聯網和精準醫療等應用上被看見,這些應用的價值能否延伸也仰賴著高速計算的永續發展。隨著軟硬體技術逐漸整合,未來這些應用與計算的結合將會更緊密,因此個人也需要儘早作好準備,讓自己成為具備軟硬體整合能力的人才,如此方可在職場上的競爭更具優勢。

 

參考資料:

[1] https://www.top500.org/statistics/list/

--
本文整理自:108/11/30由許文翰老師在臺大思亮館國際會議廳所主講之「計算工程與科學的推手-高效能計算」演講內容。

人瀏覽過