日前,在ASC2020-2021世界大學生超級計算機競賽(ASC Student Supercomputer Challenge,簡稱ASC超算競賽)總決賽中,我校來自計算機學院、軟件學院、電子學院的5名同學組成的參賽隊伍“AscHub”在計算機學院盧國明副教授的指導下,斬獲了一等獎。
此次比賽吸引了全球300余支隊伍近2000人參加,其中來自清華大學、北京大學、電子科技大學等28支隊伍入圍總決賽。他們?yōu)楹文茉诟呤秩缭频谋荣愔忻摲f而出,勇奪一等獎,讓我們一起來看看背后的故事!
揭開“超算”的神秘面紗
什么是“超算”?顧名思義就是“超級計算”。最初它被稱為“并行計算”,后來也叫“高性能計算”,現在逐漸被稱為“超算”。超算可以解決的問題非常多,比如天氣預報、氣候仿真、藥物合成、 反應堆模擬等。此外,面對當下肆虐全球的新冠病毒疫情,超算也能大顯身手,它可以通過計算機數值模擬進行篩選出小分子藥物作為候選藥物進行實驗驗證,從而有效加速新冠藥物的研究進程。
目前全球主要有三項大學生超算競賽,其中美國SC超算競賽歷史最悠久,首屆比賽于2007年舉辦,此后每年11月在舉辦。ISC超算競賽每年6月在德國舉辦。ASC超算競賽創(chuàng)辦于2012年,由中國倡導成立,與海外的一些超算專家和機構共同發(fā)起并組織。
今年成電參賽的超算團隊由來自計算機學院凝聚工作室的五名成員構成:2019級的初暢和劉義武,2018級的許文杰、黃啟新、吳泳帥,其中初暢擔任隊長。
揚長避短,穩(wěn)中有進
受疫情影響,團隊打了一場跨度兩年的“持久戰(zhàn)”——本應于2020年舉辦的ASC超算競賽推遲到2021年。正常情況下,2019年底預賽題目發(fā)布后,2020年3月份各參賽隊伍會將各自的結果發(fā)給組委會,隨后組委會將選出最好的20名左右的國內隊伍以及其他一些國外的參賽隊伍進入決賽,5月份就會舉行線下的現場競賽,進入決賽的隊伍會在現場競賽根據組委會提供的統(tǒng)一設備運行各自的代碼,最后決出總冠軍、最高計算機性能獎、超級團隊獎等各類獎項。但因為疫情,決賽推遲到了2021年5月份。一年時間的推遲導致參賽團隊的成員不得不有所變動。但好在凝聚工作室內的同學大多彼此了解且能力很強,簡單的人員調整并沒有給團隊在比賽中的發(fā)揮造成影響。
在平時訓練的過程中,團隊的成員們面臨著專業(yè)課程學習和比賽訓練時間分配上的沖突。為此,他們盡可能提升學習的效率,充分抓住周末時間開展針對性訓練。訓練的內容包括了算法的積累、測試,根據給定的題目具體分析和實現。除此之外,他們還會定期一起做賽題研討和分享。
充足的準備讓團隊在預賽中獲得了出色的成績,成功進入到決賽。現場比賽共持續(xù)了四天時間。由于有兩道新題于比賽現場才揭曉,加上環(huán)境的安裝調配、編程、調試和基準程序的測試等諸多流程,整場比賽的時間非常緊湊。“每名隊員都是‘滿功率運行’,比如劉義武和許文杰兩人負責安裝的時候,其他隊員就在苦思冥想如何‘破解’新的賽題。”
“新冠病毒變種的堿基序列分析”是在決賽現場才揭曉的一道新的賽題。通過對比分析不同新冠病毒變種之間的堿基序列,進而找出在病毒變異過程中起“關鍵作用”的變種,這樣有利于科研人員開發(fā)針對病毒的藥物。“這道題的算法已經在論文中給出,我們要做的是優(yōu)化,讓算法在計算機中運行地更快。”初暢說。
另一道新題為“跨尺度天氣預報模式MPAS-Atmosphere”,由劉義武同學負責。算法利用過去幾天的氣溫數據預測未來一天或者兩天的氣溫。“這道題的程序調試量非常大,同時相似度匹配的算法要移植到并行計算的GPU上是比較困難的。所以這道題是我們認為全場比賽中最難的題目。”初暢說。
在實際比賽過程中,還出現了各種意外的問題。“比賽用的A100計算卡,和平時訓練用的K80卡在參數上有許多區(qū)別,我們以前從沒有接觸過,只能當場熟悉。”在后兩天的實際運行中,團隊也面臨著對功率估計不準確的問題。比賽中的限制功率為3000W,如果超過了這個限制功率,即使程序正確跑出了結果,也不會獲得計分。為此,他們只能不斷調整參數并重新運行,這樣反反復復多遍,直到滿足限制功率為止。
競賽場上高手如云,團隊一路“過關斬將”,最終獲得了一等獎的好成績。談到我校超算競賽的“過關秘訣”,團隊的指導老師盧國明表示,超算競賽全面考驗隊員們包括專業(yè)能力、團隊協作等多方面的綜合能力,超算隊多年的經驗積累為同學們提供了幫助。早在2018年,盧老師就帶隊參加ASC超算競賽,當時拿到了二等獎,2019年充分準備后再次參賽,榮獲一等獎。今年比賽中同樣斬獲一等獎,和2019年相比名次前進了幾名,整體上穩(wěn)中有進。
軟硬結合,獲益顯著
超算作為一門多學科融合的應用型科學,帶給學生的益處是相當大的。首先,超算競賽考察學生的“軟硬結合”能力,這需要隊員不僅僅對算法要熟悉,更要對計算機系統(tǒng)結構底層軟件熟悉。只有對計算機的算法、編譯和硬件等都有了深入理解,才能在多個層次上做充分優(yōu)化,將計算機的性能進一步推向極致。
另外,超算始終站在“跨學科”的角度,瞄向“應用”的目標。競賽的賽題與實際問題結合緊密,涉及生命科學、材料科學、大氣仿真、能源探測等多個領域,且每年涉及的領域都在變化。隊員們除了必須具備扎實的計算機知識之外,還要保持對新知識的持續(xù)輸入、對新領域的探索熱情。“對相關領域不熟悉是比賽中的一個挑戰(zhàn)。比如做藥物篩選的優(yōu)化賽題,有時僅僅為了弄懂程序輸入的含義,我們就得查看很多文檔。但當‘撥云見日’,一直深入到底層的計算后,就是我們計算機人大展身手的時刻了。”
在團隊協作方面,隊員們也獲得了鍛煉。五人一支的隊伍展示出過人的配合和默契,為斬獲一等獎奠定了堅實基礎。“我們每人主要負責一道題,分工明確,各取所長,每名成員將自己的長處充分發(fā)揮。工作室豐富的團建活動也增進了我們之間的交流。”初暢說。
盧國明老師說,學校都非常重視超算競賽,已將競賽列入教務處專項支持計劃。“學校對超算競賽提供經費上的大力支持。未來我校還有新建超算中心的規(guī)劃,相信有了硬件上的強力支持后,勢必會進一步提升我校在超算競賽的實力。”
文:學生記者團 趙海玲 陳思芹