USIMD和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)用走向平民化!
1. 前言
說(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))。
獲獎(jiǎng)年份 | 獲獎(jiǎng)項(xiàng)目 | 超算系統(tǒng) |
2021 | 超大規(guī)模量子隨機(jī)電路實(shí)時(shí)模擬 | 中國(guó).神威 |
2020 | 超過(guò)一億個(gè)原子的分子動(dòng)力學(xué)模擬計(jì)算 | 美國(guó).Summit |
2016 | 千萬(wàn)核可擴(kuò)展全球大氣動(dòng)力學(xué)全隱式模擬 | 中國(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è)感受:抱黃連敲門—苦到家了,難怪HPC被喻為是IT行業(yè)“金字塔上的明珠”,本文旨在通過(guò)部署調(diào)優(yōu)一個(gè)量子化學(xué)的HPC應(yīng)用讓大家直觀的感受HPC的魅力,讓看似陽(yáng)春白雪的HPC也能走向平民化,走向每個(gè)人、每個(gè)家庭、每個(gè)組織。
2.求解薛定諤方程
波函數(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公式
3. 安裝QE
準(zhǔn)備工作:CentOS7/openEuler+ARM服務(wù)器
QE的安裝可以參考文檔
(https://support.huaweicloud.com/prtg-kunpenghpcs/openmind_kunpengqe_02_0001.html)一步步安裝。
但是本文推薦另一種更簡(jiǎn)便的安裝方式,那就是HPC賈維斯助手(https://gitee.com/openeuler/hpcrunner),
專門為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配置并切換到改配置(基于鯤鵬GCC+OpenMPI技術(shù)棧)
cp ./templates/qe/6.4/data.qe.test.config ./
./jarvis -use data.qe.test.config
步驟3:獲取QE及依賴軟件
l 下載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 /tmp
l 將QE的算例也拷貝至/tmp
cp -rf ./workloads/QE/qe-test /tmp
步驟4:一鍵下載并安裝依賴
l 執(zhí)行如下命令安裝鯤鵬GCC+OpenMPI(請(qǐng)準(zhǔn)備咖啡,5分鐘左右)
./jarvis -d -dp
▲ 下載依賴并安裝
步驟5:一鍵編譯QE
./jarvis -b
▲ QE的編譯
步驟6:一鍵運(yùn)行QE
./jarvis -r
▲ QE的運(yùn)行
幾分鐘后應(yīng)該可以看到“JOB DONE”字樣,經(jīng)過(guò)14次SCF自洽運(yùn)算我們就可以得出原子間的能量值,到這里你已經(jīng)體驗(yàn)了一遍HPC應(yīng)用的安裝運(yùn)行全流程了。
4. 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)!
5.總結(jié)
雄關(guān)漫道真如鐵,而今邁步從頭越,實(shí)際HPC應(yīng)用的優(yōu)化之路險(xiǎn)阻而又漫長(zhǎng),越是交叉學(xué)科越需要全人類的智慧共同參與才能結(jié)出美麗的果實(shí),但是我堅(jiān)信只要一直走,總有一天會(huì)到達(dá)目的地。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7515瀏覽量
88180 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3368瀏覽量
42566 -
HPC
+關(guān)注
關(guān)注
0文章
317瀏覽量
23811
原文標(biāo)題:揭開(kāi)HPC應(yīng)用的神秘面紗
文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論