ASC簡介

做者:Forwil
連接:https://www.zhihu.com/question/32242368/answer/66384622
來源:知乎
著做權歸做者全部,轉載請聯繫做者得到受權。 算法

ASC世界大學生超級計算機競賽 == Asia Supercomputer Community Student Supercomputer Challenge,由亞洲超算協會發起,目前已經舉辦了4屆(12~15),每一年好像都是浪潮公司掏錢贊助。
初賽通常在前年年末開始報名,當年一月份放出初賽試題。通常是1 benchmark + 1 applications + 1 MIC(Intel Xeon Phi) program。初賽歷時2個月左右,要求提交一份全英文的proposal,介紹參賽學校的超算狀況,介紹組織參賽經歷,應用分析和優化策略等。初賽會要求在給定功耗(一直都是3kW)下設計一個超算集羣,固然不會要求每一個比賽隊伍都真的拿錢去買機器來組集羣。而後就1 benchmark 和 1 applications 給出應用分析,鼓勵參賽隊在本身學校的超算平臺上對benchmark和applications進行優化。
通常初賽的benchmark都是linpack,世界top500的超算集羣就是用linpack的性能(G/Tflops)來排名的。ASC15初賽時把benchmark換成了HPCC,實際上HPCC = HPL(High performance Linpack)+ 一些奇奇怪怪的硬件性能測試。而且在決賽的時候HPCC被換成了HPL,所以linpack測試應該是每一年都會有的一個項目。
初賽給的application通常是工業級的並行程序,好比ASC15就是分子動力學的NAMD,通常的工業級應用都是十萬百萬行代碼級別的,想要作代碼級優化其實比較難。優化通常側重於編譯參數,運行參數和數學庫blas的從新連接上,對於IO密集型的應用能夠考慮並行讀寫或者ramdisk等一些tricky小方法。
MIC程序優化是ASC比賽的一個很重要的項目,會給一份不長的串行或者並行效率不高的子程序,這個子程序通常是大型應用的一個熱點函數。好比ASC15中SKA的Gridding,核心循環只有不到10行左右3個嵌套循環。MIC優化能夠作的工做不少,算法優化、緩存優化、向量化、改寫彙編都是常見的。固然MIC編程的坑不少,我不是負責MIC應用的我就很少說了。通常MIC程序優化這個項目是佔分最多的。
每一年的3月初提交完初賽proposal以後大概一個月後主辦方就公佈晉級決賽的16支隊伍,往年都是8支大陸隊8支海外隊,大陸隊伍通常比較強,如清華、國防科大、上交、華科、中山幾乎每一年都進決賽。海外隊伍相對較弱,不過也有像臺灣清華、南洋理工這樣能夠衝擊冠亞軍的隊。
公佈完晉級決賽的隊伍以後,通常會釋出2個新的application,今年決賽多的兩個應用是wrf-chem(天氣預測中的化學反應),palabos(流體力學),優化思路和NAMD相似。然後也會公佈決賽的比賽具體項目和計分方式,可是會保留一個secret application到決賽最後一天公佈,最後總決賽的項目就由初賽的3個+決賽前公佈的2個+secret 1個 一共 6個應用組成。
總決賽通常分4天,前兩天搭建軟硬件環境,比賽方會提供服務器和MIC加速卡,使用GPU的隊伍就須要本身帶過去裝了,第三天測試Linpack+兩個application,第四天測試最後一個app和secret app。自組的平臺要求運行時的功耗不能超過3kW。而MIC應用會單獨在賽方提供的平臺上測試。
總決賽的獎金挺多的,除了MIC應用以外其餘的包括linpack都是每一個1w,MIC應用2.718w(叫e-prize獎)。總分冠軍10w,亞軍5w。
至於比賽比的東西,更傾向於操做系統+體系結構方面的知識,相比於ACM比的算法+數據結構+靈光一現,ASC競賽的「計算機血統「更濃一些,工程性也強不少,這一點我比較喜歡。編程

相關文章
相關標籤/搜索