- About HS-2
HS-2 RISC-V通用主板是澎峰科技與合作伙伴共同研發(fā)的一款專為開(kāi)發(fā)者設(shè)計(jì)的標(biāo)準(zhǔn)mATX主板,它預(yù)裝了澎峰科技為RISC-V高性能服務(wù)器定制開(kāi)發(fā)的軟件包,包括各種標(biāo)準(zhǔn)bencmark、支持V擴(kuò)展的GCC編譯器、計(jì)算庫(kù)、中間件以及多種典型服務(wù)器應(yīng)用程序。
HS-2 RISC-V通用主板搭載了一顆國(guó)產(chǎn)RISC-V 64核處理器(SG2042)。SG2042是目前已量產(chǎn)的性能最高的RISC-V處理器,主要針對(duì)高性能計(jì)算領(lǐng)域需求設(shè)計(jì),適用于科學(xué)計(jì)算、工程計(jì)算、AI計(jì)算、融合計(jì)算等大算力應(yīng)用場(chǎng)景。
- About OpenMPI
OpenMPI是一個(gè)免費(fèi)、開(kāi)源、高性能的MPI實(shí)現(xiàn),兼容MPI-1和MPI-2標(biāo)準(zhǔn),并且還擁有完整的MPI-3.1標(biāo)準(zhǔn)。OpenMPI由開(kāi)源社區(qū)開(kāi)發(fā)維護(hù),支持大多數(shù)類型的HPC平臺(tái)。
官方網(wǎng)站:
https://www.open-mpi.org
實(shí)驗(yàn)方法
1. 下載OpenMPI源碼包并解壓,然后進(jìn)入存放OpenMPI源碼的文件夾
wget
https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz
tar -xzvf openmpi-4.1.5.tar.gz
2. 執(zhí)行./configure,如果配置時(shí)沒(méi)有報(bào)錯(cuò)的話那就說(shuō)明配置檢查通過(guò),可以編譯。
3. 然后編譯源代碼并安裝:
make -j[根據(jù)個(gè)人喜好或?qū)嶋H情況來(lái)決定編譯時(shí)用的線程數(shù)]
sudo make install
注意:make install記得要帶sudo,否則會(huì)提示沒(méi)有權(quán)限!
4. 接下來(lái)嘗試運(yùn)行mpicc并查看版本號(hào),結(jié)果提示libopen-pal出現(xiàn)錯(cuò)誤:
安裝libopenblas-dev即可解決該問(wèn)題(如果出現(xiàn)選項(xiàng)配置界面,保持默認(rèn)即可)
sudo apt install libopenblas-dev
再次運(yùn)行mpicc --version和mpirun --version,如果顯示版本號(hào)那就說(shuō)明運(yùn)行成功。
5. OpenMPI提供了不少的示例代碼供我們測(cè)試,涵蓋了C、C++,甚至還有Java語(yǔ)言(是的,你沒(méi)看錯(cuò),還有Java語(yǔ)言,比如Hello.java文件等),不過(guò)在本教程中我們暫時(shí)不用Java,我們只用到C和C++代碼。
編譯所有例子(把example下的所有例子全部編譯一遍):
make -j[看你自己喜好,只要不超過(guò)最大核心數(shù)就行]
執(zhí)行mpirun -np 16 ring_usempi,如果出現(xiàn)以下內(nèi)容就說(shuō)明編譯成功。
6. 當(dāng)然你也可以單獨(dú)編譯一個(gè)用C語(yǔ)言寫的例子
mpicc ring_c.c -o ring_c
mpirun -np 16 ring_c
接下來(lái)嘗試使用mpicxx單獨(dú)編譯C++程序,結(jié)果無(wú)法編譯。經(jīng)過(guò)排查發(fā)現(xiàn)當(dāng)時(shí)configure的時(shí)候沒(méi)帶上--enable-mpi-cxx參數(shù)。因此,只要帶上該參數(shù)重新配置并編譯安裝即可修復(fù)該問(wèn)題。
實(shí)驗(yàn)總結(jié)
1. 如果在configure時(shí)提示缺少庫(kù),那么應(yīng)該先安裝相應(yīng)的庫(kù),然后再重新編譯。
2. 如果提示libopen-pal或者其他相關(guān)錯(cuò)誤,請(qǐng)安裝libopenblas-dev后重試。
3. 如果./configure不帶上--enable-mpi-cxx參數(shù),后續(xù)將無(wú)法編譯C++ MPI程序。
4. 在RISC-V平臺(tái)上跑OpenMPI對(duì)于RISC-V進(jìn)入HPC世界來(lái)說(shuō)只是一個(gè)開(kāi)始,再加上SG2042的64核心的加持,能夠讓你在跑高性能計(jì)算應(yīng)用的時(shí)候更加從容。
參考資料
OpenMPI官網(wǎng)下載頁(yè):
https://www.open-mpi.org/software/ompi/v4.1/
OpenMPI——上海交大超算平臺(tái)用戶手冊(cè)
https://docs.hpc.sjtu.edu.cn/app/compilers_and_languages/open_mpi.html