加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

2023/08/07
3139
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
  • 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

2. 执行./configure,如果配置时没有报错的话那就说明配置检查通过,可以编译。

3. 然后编译源代码并安装:

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

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

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

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

sudo apt install libopenblas-dev

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

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

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

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

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

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

mpicc ring_c.c -o ring_c
mpirun -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

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
MK70FN1M0VMJ15 1 Freescale Semiconductor Kinetis K 32-bit MCU, ARM Cortex-M4 core, 1MB Flash, 150MHz, Graphics LCD, MAPBGA 256

ECAD模型

下载ECAD模型
$18.16 查看
PIC32MX575F512H-80I/PT 1 Microchip Technology Inc 32-BIT, FLASH, 80 MHz, RISC MICROCONTROLLER, PQFP64, 10 X 10 MM, 1 MM HEIGHT, LEAD FREE, PLASTIC, TQFP-64

ECAD模型

下载ECAD模型
$9 查看
ATXMEGA256A3U-AUR 1 Atmel Corporation RISC Microcontroller, 16-Bit, FLASH, AVR RISC CPU, 32MHz, CMOS, PQFP64, 14 X 14 MM, 1 MM THICKNESS, 0.80 MM PITCH, GREEN, PLASTIC, MS-026AEB, TQFP-64
$7.71 查看

相关推荐

电子产业图谱