基于CNGrid2超算云平台实现MPI并行编程时遇到的一些小坑

应项目需求,需要实现基于超算平台的MPI并行编程任务,在此记录从本地Unix系统移植到超算云平台所遇到的一些坑。


Error While Loading Shared Libraries balabala...

在代码以及编译命令无问题时,有可能是使用了平台默认的编译器(通常版本较低),可以尝试使用版本更高的编译器。

文件读取

由于本渣实现的并行算法需要在算法开始时读取参数文件。

参数文件中包含要算法需要读写的文件路径。

超算云平台的文件是基于分布式文件存储,当我的参数文件中的路径写为相对路径时,不知为何就是获取不到文件。

当我将路径字符串写为绝对路径时就可以了,很迷。。

(绝对不是我的路径写的有问题,因为我的代码中读取参数文件的路径就是相对路径!)

变量的初始化

从本地移植到超算平台后,程序运行会导致core dumped。

MPI程序难调试,搞了两天,终于找到是初始化的问题。

本地环境为Ubuntu环境,C++对象中的变量初始化为0,但是在超算平台上,莫名出现变量初始化为17258600245等类似的奇怪的数字。

(教训,定义变量一定要初始化,尤其是需要移植平台的程序)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值