• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

RISC-V公測平臺(tái)發(fā)布:如何在SG2042上玩轉(zhuǎn)OpenMPI

2023/08/07
2247
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
  • About HS-2

HS-2 RISC-V通用主板是澎峰科技與合作伙伴共同研發(fā)的一款專為開發(fā)者設(shè)計(jì)的標(biāo)準(zhǔn)mATX主板,它預(yù)裝了澎峰科技為RISC-V高性能服務(wù)器定制開發(fā)的軟件包,包括各種標(biāo)準(zhǔn)bencmark、支持V擴(kuò)展的GCC編譯器、計(jì)算庫、中間件以及多種典型服務(wù)器應(yīng)用程序。

HS-2 RISC-V通用主板搭載了一顆國產(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)用場景。

  • About OpenMPI

OpenMPI是一個(gè)免費(fèi)、開源、高性能的MPI實(shí)現(xiàn),兼容MPI-1和MPI-2標(biāo)準(zhǔn),并且還擁有完整的MPI-3.1標(biāo)準(zhǔn)。OpenMPI由開源社區(qū)開發(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í)沒有報(bào)錯(cuò)的話那就說明配置檢查通過,可以編譯。

3. 然后編譯源代碼并安裝:

make -j[根據(jù)個(gè)人喜好或?qū)嶋H情況來決定編譯時(shí)用的線程數(shù)]
sudo make install

注意:make install記得要帶sudo,否則會(huì)提示沒有權(quán)限!

4. 接下來嘗試運(yùn)行mpicc并查看版本號(hào),結(jié)果提示libopen-pal出現(xiàn)錯(cuò)誤:

安裝libopenblas-dev即可解決該問題(如果出現(xiàn)選項(xiàng)配置界面,保持默認(rèn)即可)

sudo apt install libopenblas-dev

再次運(yùn)行mpicc --version和mpirun --version,如果顯示版本號(hào)那就說明運(yùn)行成功。

5. OpenMPI提供了不少的示例代碼供我們測試,涵蓋了C、C++,甚至還有Java語言(是的,你沒看錯(cuò),還有Java語言,比如Hello.java文件等),不過在本教程中我們暫時(shí)不用Java,我們只用到C和C++代碼。

編譯所有例子(把example下的所有例子全部編譯一遍):

make -j[看你自己喜好,只要不超過最大核心數(shù)就行]

執(zhí)行mpirun -np 16 ring_usempi,如果出現(xiàn)以下內(nèi)容就說明編譯成功。

6. 當(dāng)然你也可以單獨(dú)編譯一個(gè)用C語言寫的例子

mpicc ring_c.c -o ring_c
mpirun -np 16 ring_c

接下來嘗試使用mpicxx單獨(dú)編譯C++程序,結(jié)果無法編譯。經(jīng)過排查發(fā)現(xiàn)當(dāng)時(shí)configure的時(shí)候沒帶上--enable-mpi-cxx參數(shù)。因此,只要帶上該參數(shù)重新配置并編譯安裝即可修復(fù)該問題。

實(shí)驗(yàn)總結(jié)

1. 如果在configure時(shí)提示缺少庫,那么應(yīng)該先安裝相應(yīng)的庫,然后再重新編譯。

2. 如果提示libopen-pal或者其他相關(guān)錯(cuò)誤,請(qǐng)安裝libopenblas-dev后重試。

3. 如果./configure不帶上--enable-mpi-cxx參數(shù),后續(xù)將無法編譯C++ MPI程序。

4. 在RISC-V平臺(tái)上跑OpenMPI對(duì)于RISC-V進(jìn)入HPC世界來說只是一個(gè)開始,再加上SG2042的64核心的加持,能夠讓你在跑高性能計(jì)算應(yīng)用的時(shí)候更加從容。

參考資料

OpenMPI官網(wǎng)下載頁:

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
FT230XS-R 1 FTDI Chip Microprocessor Circuit, CMOS, PDSO16,

ECAD模型

下載ECAD模型
$2.26 查看
STM32H743XIH6 1 STMicroelectronics High-performance and DSP with DP-FPU, Arm Cortex-M7 MCU with 2MBytes of Flash memory, 1MB RAM, 480 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals

ECAD模型

下載ECAD模型
$31.15 查看
AT32UC3A0512-ALUR 1 Atmel Corporation RISC Microcontroller, 32-Bit, FLASH, AVR RISC CPU, 66MHz, CMOS, PQFP144, MS-026, LQFP-144
$14.01 查看

相關(guān)推薦