mpi my_rank全为0而comm_sz全为1的解决办法

我的并行计算之路(二)MPI点对点通信MPI_Send和MPI_Recv 学习了MPI的点对点技术后,来博客记录一下。先上完整地代码:   #include<bits/stdc++.h> #include<mpi.h>using namespace std; int comm_sz=0; int my_rank=0; int arra[]={1,2,3,4,5},arrb[]={10,9,8,7,6},arrc[]={0,0,0,0,0};bool get_input( 阅读详情

今天在编写mpi并行程序时,出现了一个莫名其妙的问题。

MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);
MPI_COmm_size(MPI_COMM_WORLD,&comm_sz);

这两行语句分别获取通信域MPI_COMM_WORLD中的进程号和进程数量,然而我的程序在执行这两条语句后,my_rank全部变为0,comm_sz全部变为1。

在网上查阅相关问题后,找到了https://segmentfault.com/a/1190000000485292。原来是因为一时手贱,在安装了mpich后,又安装了openmpi,导致两个冲突了。于是乎,卸载掉任意一个就好了。

我卸载的是openmpi,卸载方法如下:

dpkg -l | grep openmpi      //列出有关openmpi的包
sudo apt-get remove 包名      //将列出的包全部卸载

至此,重新编译程序,程序可以正常运行了。

【并行计算】【《并行程序设计导论》笔记】第三章:用MPI进行分布式内存编程 阅读详情

相关推荐

mpi 并行程序设计

1.添加循环和条件分支语句 #include <iostream> #include <string.h> #include <mpi.h> using namespace std; const int max_string = 100; int main () { int comm_sz=0; int my_rank=0; c...

qq_38099207的博客 515

mpi编程 comm.Get_rank()全为0而comm.Get_size()全为1应该怎么办?

MPI变成 size总为1

wennyLee的博客 1259

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路

本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。

weixin_29306875的博客 671

mpi编程size总为1解决办法

MPI_Comm_size(comm, &size); MPI_Comm_rank(comm, &rank); 通信域MPI_COMM_WORLD中的进程数量size总是为1。 解决: 1.在exe目录下执行cmd命令行。 2.输入mpiexec -n 4 ConsoleApplication2.exe,其中,4为进程数,ConsoleApplication2.exe为exe名。 可以看到,开启了四个进程,即size=4. ...

weixin_43900888的博客 2047

Qt5.14.2+VS2017开发环境搭建全流程(含插件配置与项目测试)

本文详细介绍了Qt5.14.2与VS2017开发环境的完整搭建流程,包括软件安装、插件配置、环境变量设置以及项目测试。特别针对实际开发中常见的配置问题提供解决方案,帮助C++开发者快速搭建高效的Qt开发环境。

weixin_28419039的博客 217

数字图像处理第九章笔记

目录一、腐蚀与膨胀1、腐蚀2、膨胀3、对偶性4、开操作与闭操作二、一些基本的形态学算法1、边界提取2、孔洞填充3、连通分量提取4、凸壳5、细化6、粗化7、骨架8、形态学重建三、灰度级形态学1、腐蚀和膨胀2、开运算和闭运算3、灰度级形态学算法 一、腐蚀与膨胀 1、腐蚀 腐蚀可以去除图像的某些部分。 2、膨胀 膨胀可以连接裂缝。 3、对偶性 膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的 4、开操作与闭操作 开操作:B对A先腐蚀,再进行膨胀 可以平滑物体轮廓,断开较窄的狭颈并消除较细的突出物。 闭操作

方悔读书迟 1375

并行计算——MPI编程

一个偶然的机会,我接触到了国立清华大学的MPI编程作业,也就接触到了并行计算。这次作业简单描述的话,就是使用MPI的并行计算能力实现一个奇偶排序,并理解他的原理、思想。本文主要介绍并行计算的概念,以及MPI编程如何实现。

qq_52504945的博客 4406

f_fs.c 初始化流程(进行中)

前言 之所以选择f_fs.c作为这系列的开始,因为usb在/driver/usb下面的内容实在太多太多,如果讲各种各样点会太分散了。所以决定切入点以实际使用为主,就是f_fs了,目前我了解这是做bulk裸传输使用的,具体的通信协议自己确定。 初始化部分 开始点从这个路径下说起, /drivers/usb/gadget/function/f_fs.c 然后f_fs.c第一个使用的是include/composite.h中的宏定义function #define DECLARE_USB_FUNCTION(_n

weixin_36406973的博客 1967

有没有大佬,我这个mpi计算是咋回事啊救命

job aborted: [ranks] message[0] application aborted aborting MPI_COMM_WORLD (comm=0x44000000), error 1, comm rank 0[1-3] terminated---- error analysis -----[0] on DESKTOP-4SDLD19 lmp aborted the job. abort code 1---- error analysis -----

qq_63809865的博客 5348

Anki小白必看:手把手教你打造高颜值个性化笔记模板(附Leaflyer模板下载)

本文为Anki新手提供详细的个性化笔记模板设计指南,从基础配置到高级定制技巧,帮助用户打造高效记忆系统。特别推荐Leaflyer模板下载,通过视觉优化和功能强化,显著提升学习体验和记忆效率。

weixin_28717969的博客 433

告别编译噩梦:Vcpkg+Cmake一站式集成Tesseract-OCR C++开发环境(Windows)

本文详细介绍了如何在Windows系统上使用Vcpkg和CMake快速集成Tesseract-OCR C++开发环境,解决传统编译过程中的依赖问题。通过一键安装和自动化配置,开发者可以高效搭建OCR识别系统,支持中英文识别,并提供了常见问题的解决方案和进阶技巧。

weixin_29009339的博客 231

MPI入门基础(程序欣赏)

从几个简单的MPI程序领你入门 读程序学习编程,是成长最快的方式。hello程序看MPI程序结构 /** * 我是世界上引用率最高的程序,hiahia! */#include <stdio.h> #include <mpi.h> int main(int argc, char * argv[]) { int myrank; // 初始化MPI环境 //从这里可以看到,一般MPI指令

LSEC小陆的博客 1万+

使用 YOLO26 的牙科全景X光片分析:从牙齿检测到疾病诊断

从数据预处理自动化、模型架构针对性优化到基于视觉特征的性能分析。它证明了在医学图像分析中,模型架构的进步(如YOLO26的特性)可以有效缓解数据不平衡和目标微小的问题,为临床自动化诊断提供了一个高效、可靠的解决方案。Python"""全局配置模块包含数据集路径、类别名称、论文复现参数、划分比例等常量"""import os# ==================== 路径配置 ====================

u012133341的博客 102

并行计算 用MPI进行分布式内存编程(一)预备知识

Linux编译c文件的基本命令 编译程序 $ mpicc -g -Wall -o mpi_hello mpi_hello.c 启动程序 $ mpicc -n <number of processes> ./mpi_hello $ mpicc -n 1 ./mpi_hello $ mpicc -n 4 ./mpi_hello 简单的程序(打印来自进程问候语句的MPI程序) #include <stdio.h> #include <string.h> #i

qq_47876165的博客 1781

从零开始用 C# 打造工业级上位机系统:完整项目实战

本文介绍了一个基于C#开发的工业级上位机系统项目。该系统采用分层架构设计,包含通信、数据采集、UI展示、告警日志等模块,支持Modbus协议和串口通信。文章详细阐述了系统架构设计、关键模块实现(如Modbus通信封装、实时数据采集、告警系统等)以及性能优化策略。该项目已在实际工控场景中稳定运行超过1年,具备良好的可扩展性和稳定性,适合有一定C#基础的开发者参考学习工业软件开发实践。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1367

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MPI

MPI MPI_Init(&argc, &argv) 与 MPI_Finalize() 这其实就是一个程序的框架,我们这么来用,其中MPI_Init会在用户启动程序的时候,定义由用户启动的所有进程所组成的通信子MPI_COMM_WORLD #include <mpi.h> //... int main(int argc, char* argv[]){ //... MPI_Init(&argc, &argv); //初始化 //这里有放我们的

qq_45347768的博客 389

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

第3章 MPI 分布式内存编程 摘录

在消息传递程序中,运行在一个核-内存的程序通常称为进程。两个进程可以通过调用函数来进行通信:一个进程调用发送函数,另一个调用接收函数。 我们要使用消息传递的实现称为消息传递接口(Message - Passing Interface, MPI)。MPI定义了一个可以被程序调用的函数库。 涉及多于两个进程的‘全局’通信函数,这些函数称为集合通信。 涉及编写消息传递程序的基本问题,如数据的分割核分布式内存系统的I/O。 不让每个进程都进行I/O,而是指派其中一个进程来负责输出,而其他进程向它发送要打印的

weixin_47955824的博客 2051

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

并行程序设计(4):MPI编程

并行程序设计——MPI编程

HoshinaKaori的博客 1620

MPI 初探

MPI(消息传递借口), 定义了C,C++和Fortran的

白菜的专栏 947

《并行程序设计导论》 mpi编写hello

在消息传递程序中,运行在一个核-内存上的程序 通常称为一个进程。两个进程可以通过调用函数来进行通信。我们将使用消息传递的实现称为消息传递接口(Message-Passing Interface,MPI)。它是一个函数库 #include<mpi.h> 用$开头的,我是用的linux的终端写的,在root模式下 其余的都是普通的.c文件内容 编译(成为可执行文件exe格式) $mpicc...

qq_41180336的博客 1412

MPI基础

1.MPI可以是共享内存,也可以是非共享内存 2.MPI通过一组API(函数)进行调用 3.启动和终止MPI环境      启动和终止分别通过如下API      int MPI_Init(int *argc,char ***argv)       int MPI_Finalize()      argc和argv是C程序中的命令行参数,MPI运行时,会在函数返

James_Rose的博客 643

用MPI进行分布式内存编程(其一)

我的第一个MPI程序 最近在学用MPI进行分布式内存编程,记录一下我的学习过程。 目的:用MPI编写一个类似“hello world”的程序,其中指定一个进程负责输出,而其他进程向他发送要打印的消息。 环境:linux 过程: 安装虚拟机 安装gcc (因为我用的是MacBook Pro,直接省略了这两个步骤…需要自行百度) 安装mpi(mac os下) https://blog.csdn.ne...

qq_42339060的博客 691

湖南大学SCCI并行计算组-MPI并行编程教程-01

湖南大学SCCI并行计算组-MPI并行编程教程

E2MCC的博客 1457

MPI 树形和蝶形通信结构计算全局总和(reduce和all_reduce)的实现

MPI 树形和蝶形通信结构计算全局总和 github 源码地址:HenryLiu0/MPI-Global-Summation 1. 题目 编写一个MPI程序,分别采用树形和蝶形通信结构计算全局总和。首先计算通信域comm_sz的进程数是2的幂的特殊情况,若能够正确运行,改变该程序使其适用于comm_sz中任意进程数目的值。 2. 树形 2.1 进程数是 2 的幂的特殊情况 2.1.1 分析 ...

HenryLiu的博客 7783

【MPI高性能计算】蒙特卡洛方法计算pi值

蒙特卡洛方法 就是通过概率模拟来近似计算。 其实算法进度不是很高。 代码 在下面代码中的input文件中的内容是 10000000 运行效果:下面用四个核来做计算 PS D:\C++\VS\repo\MPI-DEMO\Debug&amp;gt; mpiexec -n 4 ./MPI-DEMO.exe 3.14111 #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;string....

gc.collect() 7027

Greet from process,我的第一个并行程序!

Greet from process,我的第一个并行程序! 编写一个hello word一样的并行程序 当然,不会完全像hello word一样简单 作为一个并行程序,本身就不会很简单! 题目要求 有多个进程,编号0 - n 现在要求1 -n号进程将消息发送至0号进程, 0号进程接受来自各个进程的消息,并显示! 主要思路 重点在于体会其中的编程思想和解决并行问题的思路 一个符合规范的MPI程序,要尽量保证并行程序的代码段始终在MPI_Init和MPI_Finalize这两个函数之间,当.

yjjgoodbay的博客 610
上一篇: MPI常用接口笔记
下一篇: MySQL安装方法
Hey___Man
博客等级 码龄9年 16粉丝 40原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值