RISC-V公测平台发布:如何在SG2042上玩转OpenMPI

About HS-2

HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板,它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包,包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。

HS-2 RISC-V通用主板搭载了一颗国产RISC-V 64核处理器(SG2042)。SG2042是目前已量产的性能最高的RISC-V处理器,主要针对高性能计算领域需求设计,适用于科学计算、工程计算、AI计算、融合计算等大算力应用场景。

About OpenMPI

OpenMPI是一个免费、开源、高性能的MPI实现,兼容MPI-1和MPI-2标准,并且还拥有完整的MPI-3.1标准。OpenMPI由开源社区开发维护,支持大多数类型的HPC平台。

官方网站:

https://www.open-mpi.org

实验方法

  1. 下载OpenMPI源码包并解压,然后进入存放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
  1. 执行./configure,如果配置时没有报错的话那就说明配置检查通过,可以编译。
  1. 然后编译源代码并安装:

    make -j[根据个人喜好或实际情况来决定编译时用的线程数]
    sudo make install

注意:make install记得要带sudo,否则会提示没有权限!

  1. 接下来尝试运行mpicc并查看版本号,结果提示libopen-pal出现错误:

安装libopenblas-dev即可解决该问题(如果出现选项配置界面,保持默认即可)

复制代码
sudo apt install libopenblas-dev

再次运行mpicc --version和mpirun --version,如果显示版本号那就说明运行成功。

  1. OpenMPI提供了不少的示例代码供我们测试,涵盖了C、C++,甚至还有Java语言(是的,你没看错,还有Java语言,比如Hello.java文件等),不过在本教程中我们暂时不用Java,我们只用到C和C++代码。

编译所有例子(把example下的所有例子全部编译一遍):

复制代码
make -j[看你自己喜好,只要不超过最大核心数就行]

执行mpirun -np 16 ring_usempi,如果出现以下内容就说明编译成功。

  1. 当然你也可以单独编译一个用C语言写的例子

    mpicc ring_c.c -o ring_cmpirun -np 16 ring_c

接下来尝试使用mpicxx单独编译C++程序,结果无法编译。经过排查发现当时configure的时候没带上--enable-mpi-cxx参数。因此,只要带上该参数重新配置并编译安装即可修复该问题。

实验总结

  1. 如果在configure时提示缺少库,那么应该先安装相应的库,然后再重新编译。

  2. 如果提示libopen-pal或者其他相关错误,请安装libopenblas-dev后重试。

  3. 如果./configure不带上--enable-mpi-cxx参数,后续将无法编译C++ MPI程序。

  4. 在RISC-V平台上跑OpenMPI对于RISC-V进入HPC世界来说只是一个开始,再加上SG2042的64核心的加持,能够让你在跑高性能计算应用的时候更加从容。

参考资料

OpenMPI官网下载页:

https://www.open-mpi.org/software/ompi/v4.1/
OpenMPI------上海交大超算平台用户手册

https://docs.hpc.sjtu.edu.cn/app/compilers_and_languages/open_mpi.html

正文完


《RISC-V公测平台发布》系列文章会持续跟大家分享澎峰RISC-V生态圈的开发者朋友们在RISC-V平台的移植测试成果,目前已发布:

  1. RISC-V公测平台发布 ·Stream带宽完整测试

  2. RISC-V公测平台发布 · 我的世界MohistMC

  3. RISC-V公测平台发布 · 第一个WEB Server"Hello RISC-V world!"

  4. RISC-V公测平台发布 ·如何在SG2042上玩转k3s

5."RISC-V成长日记" blog发布,第一个运行在RISC-V服务器上的blog?

  1. RISC-V公测平台发布:如何在SG2042上玩转OpenMPI(本篇)
相关推荐
OpenAnolis小助手2 天前
RISC-V 基础软件的工程化与性能优化实践
性能优化·操作系统·龙蜥社区·risc-v
电子科技圈9 天前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
OpenAnolis小助手9 天前
多租户公有云共享 CXL 内存池场景下的内存卸载研究
人工智能·操作系统·龙蜥社区·risc-v·agentic os
@嵌入式扫地僧12 天前
沁恒 MRS Agent RISC-V 开发提效实战:从自然语言需求到芯片工程落地全流程指南
risc-v·代码生成·嵌入式ai·开发效率·沁恒mrs
dadaobusi12 天前
riscv64 ubuntu linux version
risc-v
MounRiver_Studio17 天前
原生集成AI 能力的 RISC-V IDE:第三代 MounRiver Studio 正式发布
ide·ai·agent·risc-v
Imagination官方博客17 天前
从开源驱动到完整软件栈:Imagination 助力 RISC-V 图形生态发展
开源·risc-v
国科安芯18 天前
开放指令集的空间之路:RISC-V微控制器在商业航天中的生态价值与自主性评述
嵌入式硬件·mcu·risc-v·低轨卫星·商业航天·抗辐射
潜创微科技18 天前
CH592:集成 BLE 的青稞 RISC-V 无线 MCU
c语言·单片机·risc-v·无线投屏·低延迟·沁恒
dadaobusi19 天前
学习:RISC-V 虚拟化/H 扩展 语境 VTW 和 VTVM
risc-v