加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

2023/08/07
2921
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
  • 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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
PIC32MX795F512L-80I/PT 1 Microchip Technology Inc 32-BIT, FLASH, 80 MHz, RISC MICROCONTROLLER, PQFP100, 12 X 12 MM, 1 MM HEIGHT, LEAD FREE, PLASTIC, TQFP-100

ECAD模型

下載ECAD模型
$9.74 查看
STM32F407ZGT6 1 STMicroelectronics High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC

ECAD模型

下載ECAD模型
$22.83 查看
MKL25Z128VLH4 1 Freescale Semiconductor RISC MICROCONTROLLER

ECAD模型

下載ECAD模型
$6.94 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜