超算冠軍神威太湖之光僅僅是跑分強勁?完全用的來!

文章推薦指數: 80 %
投票人數:10人

出品:科普中國

製作:鐵流

監製:中國科學院計算機網絡信息中心

11月14日,新一期全球超級計算機500強(TOP500)榜單在美國鹽湖城公布,中國神威太湖之光蟬聯冠軍,中國天河二號屈居次席。

除神威太湖之光和天河二號外,中國也在TOP500上榜總數上與美國持平。

正如天河2號獲得6連冠後卻因為使用了Intel公司的至強Phi計算卡而被一些別有用心之徒百般詆毀,在神威太湖之光實現了包括處理器在內的所有核心部件全部國產化後,網絡上又傳來了不和諧的音符——有媒體認為,神威太湖之光的「可用性能與理論性能相去甚遠」,並以「HPL效率是74.16%」,「HPCG測試只有0.371PFLOPS,效率則只有0.3%,這比天河2號的1.1%還要低」來質疑神威太湖之光。

言下之意,就是神威太湖之光的可用性能與理論性能相去甚遠,只能用來跑分根本就用不來。

那麼什麼是Linpack和HPCG,神威太湖之光真的只能用來跑分麼?

什麼是Linpack?

上面媒體的一段話引用了幾個測試的結果,並以74.16%、0.3%、1.1%等實際數據來說明中國超算可用性能與理論性能相去甚遠,非常具有迷惑性。

筆者簡單的就Linpack測試和HPCG測試做個簡要說明。

Linpack指的是矩陣求解,在科學計算中把實際問題抽象成方程組,然後離散成矩陣計算矩陣倍,代表的是傳統的以矩陣為基礎的數值計算方法,常用於理科和工科的數值求解和數值模擬。

那麼為何超算大多以Linpack測試成績論高低呢?原因就在於很多科學計算模型都包含了矩陣求解,比如解微分方程,因此在超算任務中具有不可取代性——像輻射流體力學就是求解微分方程;而核爆炸模擬其實就是輻射流體力學+蒙特卡洛預測;雷達截面的矩量法計算也有賴於解微分方程;業內專家還告訴筆者「現在的深度學習算法的核心算法與Linpack的是一個」.......因此,linpack測試並非是一些跑分軟體那樣:不服跑個分,而是真正具有實戰價值的測試。

Linpack效率指的是實際計算時的次數除以理論計算,舉例來說:

神威太湖之光的理論性能為125.4 PFlops,Linpack浮點性能93PFlops,Linpack效率為74.16%。

天河2號的理論性能54.9Pflops,Linpack雙精浮點性能33.8PFlops, Linpack效率61.5%

泰坦的理論性能27 Pflops,Linpack雙精浮點性能17.6 PFlops,Linpack效率為65.19%。

紅杉的理論性能為20.1Pflops,Linpack測試雙精浮點性能為16.3P,Linpack效率高達81%。

這裡要說明一點,就是超算的規模越大,Linpack測試效率的提高就越難——規模大到如一定程度,維持一段時間的穩定運行是非常難的,何況是太湖神威之光93PFlops的高性能。

而神威太湖之光在Linpack測試性能是美國超算泰坦5倍以上的情況下,Linpack測試效率大幅領先於泰坦,這就非常可貴了!至於紅杉的Linpack測試效率為何會高達81%,筆者會在下文做講解。

另外還要說明的的一點,天河2號Linpack效率低於美國泰坦的原因——一方面是因為天河2號的規模更大,影響了效率;另一方面是因為天河2號採用的是Intel的至強PHI計算卡,而該計算卡就以理論性能強大,但穩定性能相對偏低著稱——同樣使用E5和至強PHI計算卡的美國超算Stampede,不僅運算能力僅為天河2號的五分之一左右(未升級前,升級後為三分之一),整機效率比天河2號更低,只有60.7%。

總而言之,以神威太湖之光的規模,取得Linpack效率達到74.16%已經非常厲害了,在採用異構計算的超算中屬於頂尖水平,大家千萬不要被一些無良媒體誤導了。

異構超算在Linpack效率上天然低於同構超算

對於筆者認為的神威太湖之光Linpack效率達到74.16%屬於頂尖水平的結論,也許某些人會提出異議,比如會列舉出TOP500排名第四的美國超算紅杉,紅杉的理論性能為20.1Pflops,Linpack測試雙精浮點性能為16.3P,Linpack效率高達81%。

那麼為何紅杉的Linpack效率如此之高呢?原因就在於和神威太湖之光、天河2號、泰坦等採用異構計算的超算不同,紅杉採用的依舊是傳統的同構計算技術。

超算可以分為兩種架構。

採用同構計算架構的超算只需要單純使用一種處理器,在同一類型的處理器上執行計算任務。

舉例來說,中國超算神威藍光採用了申威1600,美國的米拉和紅杉採用了PowerPC-A2處理器,這些超算都沒有採用GPU或其它類型的眾核晶片等加速器。

因此,紅杉、米拉、神威藍光都是採用同構計算架構超算的代表。

異構計算使用CPU、GPGPU、GPDSP、ASIC、FPGA和其它類型的眾核處理器來處理不同類型的計算任務。

採用異構計算架構的超算會使用至少2種類型的處理器,其中異構計算架構中通用CPU負責邏輯複雜的調度和串行任務,加速器負責並行度高的任務,實現計算加速。

具體來說,採用異構計算架構的超算在運算中既使用處理器,又使用GPU或眾核晶片等加速器。

以中國天河2號和神威太湖之光為例,天河2號有16000個計算節點,每個節點由2片Intel-E5-2692和3片Xeon-Phi組成,共使用了32000片Intel-E5-2692和48000片Xeon-Phi。

神威太湖之光雖然只採用了申威26010眾核處理器,看起來像同構超算,但由於申威26010集成了4個管理核心和256個運算核心,一片申威26010就是一個計算節點,管理核心執行類似於天河計算節點中E5的功能,而256個運算核心則發揮了類似於Xeon-Phi的加速作用,因此也屬於異構超算。

由於異構編程需要提前預知模型並做特殊優化,而且很多應用未必適合異構模型,使得採用異構計算的超算對於編程和優化的要求更高——一位業內人士就評價,「異構編程太勞心勞力了,高端人才的精力應該用在關注自己的專業上來,而不是當代碼狗......年紀大一點的科研人員就不願自己編代碼了,一些年青但不願勞思費神的科研人員也不願意編寫異構代碼......」。

因此,採用異構計算的超算在Linpack效率上天然低於採用同構計算的超算。

那麼既然同構超算在編程方便和效率上具有優勢,為何全球超算都轉向異構計算呢?原因就在於,這樣超算可以獲得更高的性能,之前抱怨異構編程太勞心勞力的業內朋友就表示,「超算方面眾核是近些年的趨勢,雖然編程勞心費力,但是在性能面前我們還是得忍,相同成本誰不想性能更好,科研對性能的需求可以用饑渴來形容」。

嘮嘮叨叨說這麼多,主要是為了打一個補丁,防止別有用心之徒用美國同構超算和中國異構超算比Linpack效率,進而抹黑中國超算Linpack效率低下何況前者的規模遠遠小於後者。

什麼是HPCG

目前,評價超算的指標有不少,除了測試Linpack的TOP500,還有強調的是內存帶寬和延遲的Graph500,Graph500對全系統的內存帶寬和內存延遲有很高的要求,而計算能力本身已經不影響測試結果了,這種測試偏向於訪存密集型運算,在大數據分析等場景下比較有意義。

除Graph500之外,還有強調節能環保的Green500。

那麼,在Graph500和Green500排行榜上,神威太湖之光的表現如何呢?Graph500名列第二,Green500名列第三。

不過,也有工程師認為無論是TOP500,還是Graph500都過於極端——TOP500過於強調計算性能,Graph500過於強調帶寬和延遲等因素,因此採用了新的標準HPCG。

HPCG是美國正在推的一個新測試標準,目前還沒有被業界廣泛接受,HPCG代表了共軛梯度疊代法的一類應用的計算和通信特徵,僅僅代表了某一個方面的特徵,並不能涵蓋超算的所以特徵。

HPCG比較重視計算性能和通信的平衡,如果計算性能和通信不是一個量級的,即便兩項指標分開看都很強,但也會導致HPCG偏低的結果。

另外,HPCG也存在一些缺陷,據業內人士介紹,「由於針對具體硬體結構修改共軛梯度算法很容易得到高得多的成績,為了避免這一點,HPCG代碼目前還在鎖定狀態,不准修改算法本身。

但在使用中,用戶是會修改算法的,這使得這一測試會脫離實際」。

在某媒體的報導中,「但在更具實戰意義的HPCG性能(高性能共軛梯度基準測試)中,太湖之光只有0.371PFLOPS,效率則只有0.3%,這比天河2號的1.1%還要低」,0.3%和1.1%的數據和該媒體的這種表述很容易讓人誤認為,天河2號和神威太湖之光的HPCG測試結果非常差,但實際上,在HPCG測試排行榜中,天河2號位列第一,而神威太湖之光為列第三,這其實是很不錯的成績。

而且一位業內人士猜測,「也許神威還沒有好好進行優化」。

必須指出的是,神威太湖之光的HPCG低於天河2號,並非是因為計算性能或在通信上不如天河2號,恰恰相反,在計算性能上神威太湖之光大幅領先於天河2號,而在網際網路方面,神威太湖之光也不遜色於天河2號——雖然在帶寬上有差距,但在實際應用中,帶寬指標比較延遲等指標而言並不太重要(延時指的是1個CPU把自己的計算結果交給其他CPU,如及時送到,其他CPU就能繼續計算,否則就要等待了,晶片、鏈路、協議等都會影響延時)。

因此,神威太湖之光在HPCG上遜色於天河2號,原因就在於計算性能實在是過於強悍,以至於產生了計算和通信上的不平衡,並最終導致自HPCG上遜色於天河2號。

神威太湖之光能否用得起來?

對於神威太湖之光根本用不起來的說法,其實只要關注新聞,就能明白這是徹頭徹尾的謊言。

憑藉「神威•太湖之光」強悍的計算性能,國內科研單位在天氣氣候、航空航天、海洋科學、新藥創製、先進位造、新材料等重1要領域取得了一批應用成果——由中科院軟體所、清華大學和北京師範大學申報的「全球大氣非靜力雲分辨模擬」課題,由國家海洋局海洋一所和清華大學申報的「全球高解析度海浪數值模式」課題,由中科院網絡中心申報的「鈦合金微結構演化相場模擬」課題分別入圍了戈登貝爾獎,使中國在該領域實現零的突破。

戈登貝爾獎是高性能計算應用領域的最高獎,神威太湖之光用事實說明,完全自主研發的超算不僅可以用起來,還能用的好。

另外,筆者介紹幾個神威太湖之光的具體應用:

應用一:基於國產平台的國產地球系統模式。

公共地球系統模式是一個MPMD的大型並行系統,經歷了30年的建立與發展,核心代碼量超過150萬行,是目前全球使用最廣泛的地球模式,也是高性能計算的傳統應用。

CESM計算模式多樣,各個部分並不相同,對計算機器以及並行算法都有不同要求,在移植、加速以及優化算法等方面都具有較高的挑戰。

清華大學地學中心、清華大學計算機係為了將代碼量巨大的CAM模式擴展到神威系統的百萬計算核上,對公共大氣模式CAM的代碼重構與性能優化設計了與神威系統計算、存儲模型相匹配的計算代碼,有效地提高了計算性能。

與純主核版本相比,同時使用主、從核的優化程序能取得22倍的性能提升。

通過使用24,000個主核以及1,536,000個從核,全球範圍25公里解析度的模擬速度可以達到2.81模式年/天

應用二:航天飛行器統一算法數值模擬。

國家計算流體力學實驗室基於」神威·太湖之光「超級計算機,對」天宮一號「飛行器兩艙簡化外形(長度10餘米、橫截面直徑近3.5米)隕落飛行(H=65km、62km、Ma=13)繞流狀態大規模並行模擬,使用16,384個處理器在20天內便完成常規需要12個月的計算任務,計算結果與風洞實驗結果吻合較好,為」天宮一號「飛行試驗提供重要數據支持。

應用三:納米線熱導率的大規模分子動力學模擬

低維納米材料由於具有許多獨特的光、熱、電、磁等性質,已成為當前材料領域研究的重要方向。

當前的實驗測量技術在處理納米尺度傳熱時遇到許多困難,實驗測量結果會存在較大的偏差。

分子動力學(NAMD)模擬方法能夠細緻刻畫院子振動周期內的微觀過程,已經成為研究低維納米結構導熱性質的主要手段。

非平衡分子動力學模擬(NEMD)由於類似於直接的實驗測量,並且模擬收斂快,計算效率高,能夠處理像納米線、多晶這樣的不均勻結構,因此得到廣泛應用。

中科院過程所利用「神威·太湖之光」計算機系統的大規模並行計算能力,模擬體系原子數目達到了了20億量級,單一方向空間特徵尺度達到500微米以上,從而可以考察低維納米材料力學和熱學性質的一些臨界尺寸效應。

計算取得了良好的性能,有效擴展到122,880個主核,共計798萬個計算核心,並達到了70%的並行效率。

除上述介紹的應用之外,還有基於受體庫的藥物結合能力研究與生物大分子的分子動力學模擬、島礁建設浮式平台的移植與優化、真實感動漫渲染系統研究與應用等具體應用。

在最近曝光率非常高的深度學習方面,無錫超算中心和北郵合作,實現在SW26010晶片上,對占卷積神經網絡90%計算時間的卷積層操作進行深度優化,相比今年八月份的工作有26%的性能提高,在SW26010單核組上還實現了智能圍棋神經網絡的正向傳播過程......從上述例子可以看出,神威太湖之光不僅擁有可以用來爭奪戈登貝爾獎的應用,還有科學研究和商業用途的超算渲染方面發揮著巨大作用。

結語

雖然有觀點認為不能過度看中Linpack成績,但考慮到Linpack在科學計算中的實際價值,以及至今沒有可以替代Linpack的權威測試,超算的Linpack成績依然非常具有借鑑意義,從這個角度上講,將神威太湖之光全球最強超算的冠冕當之無愧。

雖然神威太湖之光並沒有在所有的測試中獲得第一,但這並非是可以詆毀神威太湖之光的理由——以神威太湖之光在一些測試中僅奪得第二名、第三名就否定這台100P超算,這種否定方式絕不是科學的態度。

關於神威太湖之光超算到底是只能跑分還是真正的科研利器,戈登貝爾獎和文章里介紹的具體應用已經對各種質疑做出了有力的回擊。

「科普中國」是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。

本文由科普中國融合創作出品,轉載請註明出處。


請為這篇文章評分?


相關文章