東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

超算在現代科學研究中的地位愈加重要,從應用融合的角度來看,高性能數據分析和人工智能技術等新興技術的發展為超級計算機研究方法帶來了跨越式的革新。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

東方超算CEO白洋

如何讓超級計算更加智能化,讓超算應用更加便捷?這是北京東方超算科技有限公司(以下簡稱東方超算“ChinaHPC”)的使命,作為超算領域的新生代,東方超算成立於2013年,創始團隊來自於北京市計算中心和中國科學院超級計算中心,是全球先進的超級計算機研發、製造和運營商,將大數據、人工智能和超級計算應用融合一體,面向政府、行業和學術領域提供先進的超級計算機和服務支持。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

在東方超算CEO白洋看來,傳統模式為三類場景,獨立建設、流程式、順序式處理數據,而現在通用的超級算平臺可以同時承載高性能數據分析框架和人工智能深度學習框架,可以連通數據孤島,避免重複建設分散獨立的業務系統,讓應用實現彈性的、可擴展的大規模分佈式並行計算。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

上圖為超級計算機應用的橫向融合框架,AI算法基於海量數據,底層需要大數據框架和文件系統的支持。AI框架使用MPI實現分佈式計算、深度學習計算任務通過超級算平臺的作業調度系統,如slurm、lsf進行統一的調度。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

東方超算CEO白洋將融合應用的超級計算平臺,命名為超級大腦,框架定義為四層,底層由通用的高性能計算平臺構建,系統層基於標準的Linux 系統,相對傳統的物理節點供給,同時還引入了容器技術,來運行復雜的應用場景,在平臺層,左側為經過優化和遷移的大數據框架,右側部分為傳統的高性能計算應用,通過應用的融合,就可以支持高性能數據分析,高性能計算和人工智能複用一套基礎設施。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

通過這樣的超級大腦框架,超級計算將變得更加智能化,傳統的高性能計算平臺僅實現了建模、計算和分析,而現在則可以將大量的模型和數據進行訓練,得到數據庫和推理模型,當拿到用戶新的模型後,通過分析和推理,可以直接給出經驗數據,這將節省大量計算資源和等待時間,對基礎研究創新產生巨大的作用。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

以典型的應用計算材料學為例,白洋介紹了 AMD EPYC 7532霄龍處理器在該領域的應用實踐。計算材料學(Computational Materials Science),是材料科學與計算機科學的交叉學科,是關於材料組成、結構、性能、服役性能的計算機模擬與設計的學科,是材料科學研究裡的“計算機實驗”。它涉及材料、物理、計算機、數學、化學等多門學科。這裡列舉了一些主流的應用軟件,如VASP,LAMMPS、NAMD、GROMACS、Materials Studio、Gaussian等,以應用廣泛的Lammps為例,LAMMPS可以支持包括氣態,液態或者固態相形態下、各種系綜下、百萬級的原子分子體系,並提供支持多種勢函數,並且LAMMPS有良好的並行擴展性。分子動力學所涉及到的領域,LAMMPS代碼也都涉及。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

AMD EPYC 7532霄龍處理器,具有大緩存、多核心的硬件參數特徵,與lammps良好的並形擴展、計算過程內存佔用較少的應用特徵匹配。

在此測試環境中,使用的服務器為超微雙路AMD平臺,配置兩顆AMD霄龍7532 處理器,整機一共64核心,512MB緩存,為了嚴格測試lammps的並行擴展性,東方超算將運行頻率鎖定在了基礎頻率2.4GHz,但在實際生產環境中,推薦設置為睿頻模式,“獲得”額外的應用加速;內存配置了16條32GB DDR4 3200MHz ECC REG內存,滿配16個內存通道;硬盤配置兩塊1.6TB U.2 SSD。

測試的軟件環境,操作系統採用CentOS Linux release7.7.1908 (Core) 3.10.0-1062.el7.x86_64,編譯器採用icc version19.1.2.254 (gcc version 4.8.5 compatibility),並行環境採用Intel MPI2020.2版本,應用軟件部署lammps最新發布的2020年3月3號版本,應用算例採用lammps安裝路徑bench目錄下的in.lj原子流體模型。

東方超算白洋:大緩存、多核心如何匹配計算材料學場景應用?

測試方法,分別執行32核心/64核心並行規模運算

1、觀察運行過程緩存/內存使用情況

2、根據32和64核心並行規模和完成時間,得到計算並行效率

首先運行的是32核心,也就是單顆處理器下的LAMMPS性能,完成整個測試耗時約2分05秒。同時在測試過程中,每個測試線程使用了約8MB緩存,32核心線程共計使用約256MB緩存,約等於EPYC 7532的L3緩存容量。

通過Linux系統的“top”可以看到,CPU的佔用率幾乎為100%,但內存的實際佔用率幾乎為0,EPYC 7532的L3緩存了所有數據,緩存命中率100%,這使得整個測試幾乎不需要外部的DDR4內存,讓性能達到最佳狀態。

在測試完32核心狀態下的性能之後,接著測試64核心(兩顆處理器)下的LAMMPS性能,整個測試耗時約1分07秒。每個測試線程佔用約6MB緩存,共計使用了約400MB緩存,同樣小於兩顆EPYC 7532處理器的L3緩存之和512MB,也不需要額外的DDR4內存。

對比上一個測試結果可以看到,在LAMMPS測試中,處理器核心數量增加了一倍,測試所需的時間幾乎降低了一半,這一方面證明LAMMPS具有很好的橫向擴展能力,同時也進一步證明了AMD的EPYC 7532處理器具有很好的性能,隨著使用核心數量的增加,其性能也能隨之增加。

關於AMD EPYC 32核在具體的應用場景的巨大優勢和獨特價值先介紹到此,隨著超算技術開始向產業滲透,東方超算將不斷落地超算技術,通過創新方案滿足客戶大數據分析、科學計算以及人工智能等需求,服務更多客戶。


分享到:


相關文章: