第一章 破壁少年
2015年,美國,奧斯汀,國際超算年會現場。
鐘杰偉正在專心致志地調試舉辦方提供的超算的性能。突然,他發現自己的程序竟然莫名其妙地逆運行。鐘杰偉覺得這很不可思議,手心有冷汗冒出。他趕忙檢查機器的配件設置。意料之外的是,他不出意料地沒有檢測出任何問題。
“這是怎么回事?”鐘杰偉自言自語,而后又喃喃道,“我的程序為什么逆運行了?“
瞿教授走過來,看了一眼他的計算機屏幕,淡淡的說:”這個問題,你得去問問段軍了,竟然成功了,不錯不錯,不愧是老許的學生。“鐘杰偉看向段君:”老段,這是怎么一回事?“
段君臉上依然掛著標志性的自信笑容。”還記得去年的隊內程序設計運行賽嗎?那次,你屈居第二,你還很不服氣,好奇我設計的程序是什么?這就是我的那個程序,不過我這次用的是我改進后的,Reverse operation2.0.我的這個程序最大的作用就是提高程序運行的容錯率。我曾經借助這個程序計算過三體問題,給定一組參數,設定一個篩選條件,用常微分方程求解。你也知道,三體問題沒有解析解,只有數值解。我用這個程序計算,符合條件的就運行,不符合的就逆運行,回到初始狀態下,再進行下一次求解,其實就像是套答案,只不過憑超算每秒幾千萬億次的算力,二十分鐘就能得到近百個數值解?!?p> 鐘杰偉很不解,“為什么要這么做,這樣完全是在浪費超算的算力,得不償失。超算競賽,不就是要將計算機的算力發揮到極致嗎?這個逆運行程序完全就是用計算暴力求解,無視了程序運行路徑的優化,不符合數學所追求的簡潔思想。”
瞿教授面帶微笑地解釋:“沒那么復雜,你以后會遇見一些你無法用簡潔的程序計算出結果的難題,有的時候,這種辦法并非不可取。當然,程序的優化設計同樣也是至關重要的。曾經,我國代表隊參加國際信息奧林匹克競賽時,我國的一名選手設計的程序比官方標準答案的運行速度快20倍,連IOI組委會都親自登門要原程序。超算競賽,歸根結底,比拼的是人類的智慧。馮.諾伊曼,圖靈,這些計算機界的權威,無不是用他們的頭腦將計算機的算力發揮得淋漓盡致。“
此時,場內廣播聲響起:Attention,at this time I would ask all the instructors to leave the competition site.(請注意,請教練們離開比賽場地。)
瞿教授看向鐘杰偉:“我要出去了,杰偉,你給大家打打氣。”
鐘杰偉看向隊友們,他嚴肅地問:“隊友們,你們準備好去面對那面看不見的,橫亙在我們國家超算之路上的超算之墻了嗎?你們準備好去打破那面看不見的墻了!”
鐘杰偉看向了隊友們,隊友們也看向了他,下一刻,他們仿佛心有默契般站在了一起,帶著少年們誓將破壁的銳氣,帶著兩年磨一劍的鋒芒,帶著心中懷揣夢想的熱忱,大聲地喊出了:
“超算之墻,我們是你的破壁者?!?