在不到18個月的時間裡,密歇根大學的一個團隊採用GPU,為一個基於複雜數學的程式實現了20倍的提速。該程式為量子科學奠定了基礎。
Vikram Gavini 的實驗室以創紀錄的速度,跨越了微觀世界的一座重要里程碑。
這支由三人組成的密歇根大學團隊建立了一個使用複雜的數學來深入觀察原子世界的程式。該程式將推動許多科學領域的發展,以及多重領域的設計工作——從更輕的汽車到更高效的藥物。
憑藉 GPU ,該團隊開放原始碼庫中的程式碼在短短18個月內實現了20倍速度提升。
通往Summit的旅程
2018年年中,當該團隊正準備釋出一個在 CPU 上執行的程式碼版本時,他們收到了橡樹嶺國家實驗室 GPU 駭客馬拉松的邀請。全球最快的超級計算機之一—— Summit 就位於該實驗室。
機械工程和材料科學教授 Gavini 表示:“我們當時的想法是看看我們能實現什麼。”
該實驗室的博士後 Sambit Das 參加了這場為期五天的活動。他認為:“我們很快意識到我們的程式碼可以充分發揮GPU大規模並行處理的能力。”
在活動結束前, Das 和另一位實驗室成員 Phani Motamarri 將程式碼轉移到 CUDA 及其庫中,實現了5倍速度提升。這也讓他們意識到,未來能實現的還有更多。
6個月內實現從5倍到20倍的速度提升
在接下來的幾個月裡,該實驗室繼續對該程式進行調優,使其能夠對1萬個鎂原子中的10萬個電子進行分析。到2019年初,該程式已經可以在 Summit 上執行。
隨著 Summit 的節點數量不斷增加,該實驗室採用迭代法,在節點上執行越來越多的程式碼。截止4月,該實驗室使用了該系統27,000個 GPU 中的大部分,實現了近 46 petaflops 的效能,達到了之前的20倍。
對於一個基於密度泛函理論(DFT)的程式來說,這是一個前所未有的結果。密度函數理論是一項解釋亞原子粒子之間量子相互作用的複雜數學理論。
適用於高難度演算法的分散式計算
DFT 演算法的複雜性和基礎性使其目前佔用了所有公共研究計算機四分之一的時間。在被引用次數最多的100篇科學論文中,有12篇是 DFT 為主題的。該計算還被用來分析從天體物理學到 DNA 鏈的一切。
最初,根據該實驗室的報告,該程式使用了 Summit 的頂尖理論效能的近30%,這是一個異常高的效率。相比之下,大多數其他 DFT 程式碼除了能夠使用數個處理器之外,很難實現進一步的擴充套件,因此就連效率報告都沒有。
Gavini 表示:“能實現這一前所未有的效率令我們感到非常高興。”
聲名鵲起
2019年底,該團隊被提名為戈登貝爾獎的入圍者。這是該實驗室首次參加這一“高效能計算領域諾貝爾獎”的評選。
Gavini 表示:“這為我們的實驗室和大學帶來了很高的知名度,我認為這次努力還只是一個開始。”
事實上,自評選以來,實驗室在 Summit 上,將程式碼的效能提升到了 64 petaflops ,效率亦達到38%。並且該實驗室已經在探索在其他系統和應用上的使用。
尋求更多的應用和更高的效能
最初,這項工作被用於分析鎂。這種比當今汽車和飛機使用的鋼和鋁輕得多的金屬有望大幅節省燃料。去年,該實驗室與另一團隊合作,研究電子在 DNA 中的移動方式,這項工作可以幫助其他研究者研發出更有效的藥物。
接下來重要的一步是在 Perlmutter 上執行程式碼。這是一臺使用最新 NVIDIA A100 Tensor Core GPU 的超級計算機。根據Das的報告,基於A100 GPU對TensorFloat-32的支援,與 Summit GPU 相比,這臺計算機目前已經實現了4倍速度提升。TensorFloat-32 是一種既能提供快速結果,又能實現高精度的混合精度格式。
與其他 DFT 程式碼相比,該實驗室程式已實現100倍的速度提升,但 Gavini 並沒有就此止步。他已經在考慮在 Fugaku 上測試它。Fugaku 是基於 Arm 系統的全球最快的超級計算機。
他表示:“眼下的收穫總會令人欣喜,但‘路漫漫其修遠兮,吾將上下而求索’。這次的成果也是我們新徵程的開始。”