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