NASA舉辦編程挑戰賽 望加快計算流體力學問題

NASA舉辦編程挑戰賽 望加快計算流體力學問題
Image Credit: NASA
我們想讓你知道的是

美國太空總署舉辦比賽,希望能夠收集建議改良其程式,以縮短計算流體力學問題所需時間。

唸給你聽
powered by Cyberon

美國太空總署(NASA)在5月3日宣佈透過網上編程比賽平台HeroX及Topcoder舉辦「高效能快速運算挑戰賽」,希望能改善其程式碼,減少超級電腦運算所需時間,總獎金高達55,000美元。

在NASA的航空研究中,需要以先進的運算工具協助模擬測試,其中包括一個稱為FUN3D的軟件——正是今次比賽的主角——在NASA的超級電腦Pleiades上運行,用來解決流體力學中非常重要的Navier-Stokes方程。

FUN3D在1980年代研發,主要使用程式語言Modern Fortran編寫——Fortran是一種古老的高階程式語言,在1950年代已經出現,Modern Fortran則為其現代版本——也有一些部份以C++及Ruby編寫。

NASA表示,即使過去數十年有巨大進程,運算流體力學的工具在模擬複雜情況時仍然過慢。如果要在分析及設計時使用更清細的模擬運算,速度必須大幅增加。因此NASA希望獲得改良FUN3D的建議,在利用現有硬件下能令程式運算快上10倍至1000倍,同時不影響結果。

在HeroX的比賽主要是收集改良FUN3D程式碼的意念,得到大獎的參賽者可獲1萬美元獎金,另外有兩個二獎,每位得獎者各得5千美元獎金。評分準則包括︰

  • 改良潛能(40%)︰能加快程式運作多少倍?所使用的理論及推理正確嗎?
  • 準確度(20%)︰建議的解決方法可否維持現有模型的準確度?
  • 可行性(20%)︰這個建議是否可行?如需落實,所花的時間及精力是多少?
  • 原創性(10%)︰有否善用現有的數據及資源?建議富想像力嗎?有沒有使用新的方法?
  • 其他(10%)︰建議如何做到並超越以上的要求?

而另一平台Topcoder上的比賽,主要目的是收集可行意念,越多越好,這些意念稱為「候選改良組件」(Improvement Candidate, IC)。參賽者需要按照其規定格式提交文件,包括概要、IC清單、用作示範的程式碼及討論等。兩個大獎的獎金分別為1萬5千及1萬美元,另外獲選用的IC設計者亦會攤分1萬美元獎金。評分準則包括︰

  • 分析(10%)︰辨認出運算速度瓶頸的程度
  • 建議質素(20%)︰能否說服評審其IC可行,並能明顯提升程式表現
  • 進步淨值(60%)︰參賽者提交的所有IC提升表現的程度
  • 細節(10%)︰描述如何落實IC的詳細程度

不過,由於FUN3D程式碼受到美國出口法律限制,並不對外公開,只有18歲以上的美國公民才可以參加今次比賽。比賽將於美國東岸時間6月29日下午5時截止,得獎名單將於8月9日公布。

資料來源︰