Linux下用eclipse调试C++并行程序(MPI)

Linux下用eclipse调试C/C++并行程序(单机MPI)

并行调试工具

很多人调试MPI程序都是用print的,这里有一篇介绍的文章:https://segmentfault.com/a/1190000000447786?_ea=179668
里面的很多工具我都试着尝试过:

  • TotalView:实在太贵,之前咨询过价格,别人根本就没有给报价,一般只有大型超算才配备,没有单机版本,价格估计在百万以上具体多少不清楚
  • Allinea DDT:官网报价几百美元,国内代理商报价一万不到,之前联系想购买的,但是由于中美贸易战被禁止了,这个是单机版本的报价,可以调试openmp cuda mpi openacc等
  • GDB:可以参照openmpi官网的教程,可以用gdb进行调试,有终端图形化调试操作,比print好用
  • Valgrind:开源内存检查工具
  • Intel Parallel Studio:集成化的调试工具,可以检查内存泄露、竞争等,但是没有办法想gdb那样一步一步调试(可能是我不知道,如果可以告诉我一下),学生版可以申请四个节点的调试工具
  • eclipse:接下来主要介绍这个,这个免费的,可以并行的一步一步调试,缺点就是在普通PC机上,可能是由于CPU寄存器太少,调试几步就卡死了,我在工作站上调试没有发现这个问题,我只会单机调试。

eclipse、mpi环境

  • 先配置mpi运行环境
  • 从官网下载Eclipse IDE for Scientific Computing:
  • 在下一步之前,首先确保你的mpi程序可以在eclipse里面正确编译并且能运行起来!

配置eclipse

Run->Debug Configurations:
Parallel Application : 新建一个新的调试项目

Basic Options:
Number of processes : 并行调试的进程数
超线程(OpenMPI)的话需要在Advanced Options里面加入–oversubscribe

程序运行参数在上面的Arguments里面添加

在这里插入图片描述
6个核跑的并行调试画面,小黄点就是进程,点击不同小黄点可以看不同的进程里面的内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值