HPC應(yīng)用的神秘面紗)
揭開(kāi)HPC應(yīng)用的神秘面紗 本文主要通過(guò)部署調(diào)優(yōu)一個(gè)量子化學(xué)的HPC應(yīng)用讓大家更直觀的了解和感受HPC的魅力。## 前言說(shuō)起高性能計(jì)算High Performance Computing縮寫(xiě) HPC很多人第一個(gè)想法就是動(dòng)輒億億次浮點(diǎn)運(yùn)算的“超級(jí)計(jì)算機(jī)”國(guó)家花這么大代價(jià)做出來(lái)的機(jī)器干啥用呢其實(shí)大到天氣預(yù)報(bào)、飛機(jī)制造、新冠疫苗研發(fā)小到唐氏篩查、《熊出沒(méi)》渲染到處可見(jiàn)HPC的身影就拿最近的北京冬奧會(huì)來(lái)說(shuō)其成功舉辦就脫離不了濟(jì)南超算對(duì)空氣質(zhì)量預(yù)報(bào)準(zhǔn)確及時(shí)的預(yù)警當(dāng)然HPC也可以離我們很遠(yuǎn)舉幾個(gè)戈登貝爾獎(jiǎng)的栗子(被譽(yù)為“超級(jí)計(jì)算應(yīng)用領(lǐng)域”內(nèi)的諾貝爾獎(jiǎng))。section: 揭開(kāi)HPC應(yīng)用的神秘面紗 本文主要通過(guò)部署調(diào)優(yōu)一個(gè)量子化學(xué)的HPC應(yīng)用讓大家更直觀的了解和感受HPC的魅力。 前言source_type: html_tablefields:獲獎(jiǎng)年份獲獎(jiǎng)項(xiàng)目超算系統(tǒng)rows:獲獎(jiǎng)年份2021; 獲獎(jiǎng)項(xiàng)目超大規(guī)模量子隨機(jī)電路實(shí)時(shí)模擬; 超算系統(tǒng)中國(guó).神威獲獎(jiǎng)年份2020; 獲獎(jiǎng)項(xiàng)目超過(guò)一億個(gè)原子的分子動(dòng)力學(xué)模擬計(jì)算; 超算系統(tǒng)美國(guó).Summit獲獎(jiǎng)年份2016; 獲獎(jiǎng)項(xiàng)目千萬(wàn)核可擴(kuò)展全球大氣動(dòng)力學(xué)全隱式模擬; 超算系統(tǒng)中國(guó).神威對(duì)超算來(lái)說(shuō)硬件很重要但現(xiàn)在是“軟件吞噬一切”的時(shí)代路修的再好沒(méi)有車在上面跑也沒(méi)用如果把開(kāi)源軟件比作汽車市場(chǎng)那么HPC應(yīng)用就是這個(gè)市場(chǎng)中的 “豪車”為了追求最極致的性能它們用著最先進(jìn)的“發(fā)動(dòng)機(jī)”(編譯器)、最復(fù)雜的“輪胎”(并行技術(shù))同時(shí)也擁有最繁瑣的“機(jī)械結(jié)構(gòu)”(安裝和調(diào)優(yōu)流程)優(yōu)化過(guò)HPC應(yīng)用的“賽車手”都有一個(gè)感受抱黃連敲門(mén)—苦到家了難怪HPC被喻為是IT行業(yè)“金字塔上的明珠”本文旨在通過(guò)部署調(diào)優(yōu)一個(gè)量子化學(xué)的HPC應(yīng)用讓大家直觀的感受HPC的魅力讓看似陽(yáng)春白雪的HPC也能走向平民化走向每個(gè)人、每個(gè)家庭、每個(gè)組織。## 求解薛定諤方程波函數(shù)被證明對(duì)獲取材料的宏觀性能(如光學(xué)性質(zhì)、力學(xué)性質(zhì)、熱力學(xué)性質(zhì)、磁學(xué)性質(zhì))極具價(jià)值現(xiàn)實(shí)中的物質(zhì)由多個(gè)電子構(gòu)成的它們的波函數(shù)該如何求解一個(gè)鐵原子有26個(gè)電子兩個(gè)有52個(gè)電子計(jì)算2個(gè)鐵原子相互作用時(shí)需要計(jì)算任意一個(gè)與其它51個(gè)電子的相互作用當(dāng)計(jì)算原子數(shù)增加時(shí)計(jì)算量呈指數(shù)增加100個(gè)鐵原子的計(jì)算量恐怕都是天文數(shù)字了更不要說(shuō)幾十萬(wàn)個(gè)原子納米材料這就不得不提著名的Kohn-Sham公式他將多電子體系近似用一個(gè)或幾個(gè)函數(shù)來(lái)代替求解多體薛定諤方程計(jì)算量大大減少Kohn因?yàn)檫@個(gè)公式獲1998年Nobel化學(xué)獎(jiǎng)本文要介紹的HPC應(yīng)用QE就是這個(gè)公式的開(kāi)源實(shí)現(xiàn)在量子化學(xué)領(lǐng)域被廣泛應(yīng)用從官網(wǎng)介紹來(lái)看“QUANTUM ESPRESSO是一種用于電子結(jié)構(gòu)計(jì)算和材料建模的量子化學(xué)方法的軟件套件在GNU通用公共許可證下免費(fèi)分發(fā)。它基于密度泛函理論平面波基組和贗勢(shì)包括范數(shù)守恒和超軟理論。”這段文字看不懂沒(méi)關(guān)系只要記住求解公式是這個(gè)就行了Kohn-Sham公式## 安裝QE準(zhǔn)備工作CentOS7/openEulerARM服務(wù)器QE的安裝可以參考文檔( https://support.huaweicloud.com/prtg-kunpenghpcs/openmind_kunpengqe_02_0001.html )一步步安裝。但是本文推薦另一種更簡(jiǎn)便的安裝方式那就是HPC賈維斯助手( https://gitee.com/openeuler/hpcrunner )專門(mén)為HPC應(yīng)用打造的一鍵依賴安裝、環(huán)境配置、編譯、運(yùn)行、調(diào)優(yōu)平臺(tái)將HPCRunner解壓或者clone到服務(wù)器某個(gè)位置其目錄結(jié)構(gòu)及說(shuō)明如下所示賈維斯源碼目錄步驟1進(jìn)入這個(gè)賈維斯目錄并初始化環(huán)境cd hpcunner source ./init.sh步驟2拷貝QE的HPC配置并切換到改配置(基于鯤鵬GCCOpenMPI技術(shù)棧)cp ./templates/qe/6.4/data.qe.test.config ./ ./jarvis -use data.qe.test.config步驟3獲取QE及依賴軟件1下載QE 6.4版本( https://github.com/QEF/q-e/archive/refs/tags/qe-6.4.1.tar.gz )解壓至tmp目錄tar -xzvf ./downloads/q-e-qe-6.4.1.tar.gz -C /tmp2將QE的算例也拷貝至/tmp\cp -rf ./workloads/QE/qe-test /tmp步驟4一鍵下載并安裝依賴執(zhí)行如下命令安裝鯤鵬GCCOpenMPI (請(qǐng)準(zhǔn)備咖啡5分鐘左右)./jarvis -d -dp下載依賴并安裝步驟5一鍵編譯QE./jarvis -bQE的編譯步驟6一鍵運(yùn)行QE./jarvis -rQE的運(yùn)行幾分鐘后應(yīng)該可以看到“JOB DONE”字樣經(jīng)過(guò)14次SCF自洽運(yùn)算我們就可以得出原子間的能量值到這里你已經(jīng)體驗(yàn)了一遍HPC應(yīng)用的安裝運(yùn)行全流程了。## QE調(diào)優(yōu)在HPC應(yīng)用運(yùn)行的過(guò)程中可以通過(guò)perf性能工具無(wú)侵入式的采集熱點(diǎn)函數(shù)數(shù)據(jù)而且以目錄樹(shù)的形式展現(xiàn)出來(lái)。步驟1運(yùn)行QE./jarvis -r步驟2新建窗口并進(jìn)入hpcrunner目錄運(yùn)行性能采集命令./jarvis -p從熱點(diǎn)函數(shù)實(shí)時(shí)分布圖可以看出除了MPI通信之外GEMM矩陣運(yùn)算操作占比較高可以考慮使用openblas進(jìn)行替代同時(shí)可以考慮把編譯器換成畢昇、MPI通信庫(kù)換為HyperMPI。步驟3拷貝優(yōu)化配置cp ./templates/qe/6.4/data.qe.test.opt.config ./步驟4切換到優(yōu)化配置./jarvis -use data.qe.test.opt.config步驟5一鍵下載并安裝依賴(大概6分鐘左右)./jarvis -d -dp步驟6一鍵編譯QE./jarvis -b步驟7一鍵運(yùn)行QE./jarvis -r優(yōu)化之后的QE這次的運(yùn)行時(shí)間是不是更短了呢讓我們對(duì)比一下前后的性能情況吧QE前后性能對(duì)比如果你也得到了這個(gè)結(jié)果那么恭喜你完成了一次HPC應(yīng)用的調(diào)優(yōu)## 總結(jié)雄關(guān)漫道真如鐵,而今邁步從頭越實(shí)際HPC應(yīng)用的優(yōu)化之路險(xiǎn)阻而又漫長(zhǎng)越是交叉學(xué)科越需要全人類的智慧共同參與才能結(jié)出美麗的果實(shí)但是我堅(jiān)信只要一直走總有一天會(huì)到達(dá)目的地。美好的未來(lái)在前方如果您對(duì)HPC有興趣請(qǐng)加入到openEuler HPC SIG這里除了有遷移調(diào)優(yōu)技術(shù)分享還有大量開(kāi)源實(shí)習(xí)機(jī)會(huì)( https://gitee.com/openeuler/hpcrunner/issues )在家也能領(lǐng)工資更有百萬(wàn)獎(jiǎng)金眾智計(jì)劃等你來(lái)拿。請(qǐng)關(guān)注開(kāi)源項(xiàng)目賈維斯為多樣性算力添磚加瓦共建openEuler生態(tài)。歡迎關(guān)注賈維斯項(xiàng)目https://gitee.com/openeuler/hpc關(guān)于作者方春林Numpy/Taro MaintainerUSIMD和HPCRunner開(kāi)源項(xiàng)目Leader目前主要聚焦于openEuler HPC SIG運(yùn)營(yíng)openEuler HPC SIG致力于建立氣象、分子動(dòng)力學(xué)、生物和制造等領(lǐng)域的生態(tài)交流圈打造HPC多樣性算力部署調(diào)優(yōu)統(tǒng)一平臺(tái)自動(dòng)容器化助力極簡(jiǎn)部署一站式調(diào)優(yōu)HPC應(yīng)用讓看似陽(yáng)春白雪的HPC應(yīng)用走向平民化