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

避坑指南:HslCommunication连接西门子PLC时常见的5个错误及解决方法(S7-1200/S1500适用)

本文详细解析了使用HslCommunication连接西门子S7-1200/S1500 PLC时常见的5个错误及解决方法,包括基础连接配置、数据块读写异常、连接闪断、防火墙与权限问题以及高级调试技巧。通过实战案例和代码示例,帮助开发者快速定位和解决连接问题,提升工业自动化项目的开发效率。

weixin_30752699的博客 396

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

Unity游戏Mono注入实战:从反编译到功能扩展

本文详细介绍了Unity游戏Mono注入的完整实战流程,从使用dnSpy反编译游戏核心逻辑,到编写自定义C#功能DLL,再到利用SharpMonoInjector进行动态注入。文章深入讲解了如何通过Harmony库拦截修改游戏方法,并介绍了使用MelonLoader框架和UnityExplorer进行高级模组开发与调试,最终通过一个游戏对象透视(ESP)案例演示了功能扩展的实现。

weixin_29018335的博客 458

Arduino平台软硬件原理及使用——Arduino Uno板卡的使用

Arduino Uno板卡的基本使用

洪博hopes的博客 4173

并行计算——MPI编程

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

qq_52504945的博客 4406

从MATLAB到版图:手把手复现一篇16位1MSPS SAR ADC的完整设计流程(含Cadence与Verilog代码)

本文详细介绍了16位1MSPS SAR ADC的完整设计流程,从MATLAB行为级建模到Cadence电路实现,再到Verilog数字逻辑编码和版图生成。重点讲解了高精度逐次逼近型模数转换器的关键技术,包括电容阵列建模、校准算法实现、FFT性能验证以及混合信号仿真等,为工程师提供了实用的工业级设计指南。

weixin_28703507的博客 301

有没有大佬,我这个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

自动驾驶仿真基础:使用Veristand自定义CAN报文的Checksum和Counter

文章目录前言一、关于Checksum的组成形式二、自定义的Checksum方法一1、实现的主要流程图如下:2、方法一的主要算法参考三、自定义的Checksum方法二1、软件及插件下载;2、Custom device的使用;4、Veristand调用Custom Device;5、Veristand发送信号值;6、部署到实时机; 前言 1、现在很多的车厂对于车辆的安全机制非常重视,车厂通过对发送的CAN数据进行加密而形成一种保护机制,而Checksum和Counter是其中的一种保护介质,当CAN报文数据的

zataji的博客 1万+

ST7789T3与CST816D驱动全解析,面试技巧第11篇:嵌入式面试场景问答 10 连发。

SPI模式下,SCLK、MOSI、CS、DC、RST为必需引脚;8080模式下需连接D0-D7、WR、RD等信号线。CST816D触摸芯片通常通过I2C接口通信,需连接SCL、SDA及INT(中断)引脚。确保电源引脚(VCC、GND)稳定供电,ST7789T3典型工作电压为3.3V。显示异常时检查时序参数,如SPI时钟频率(建议≤40MHz)、数据建立时间。初始化流程需发送一系列命令序列,包括设置像素格式、扫描方向、帧率控制等。扫描方向(MADCTL)可调整显示旋转角度,需根据实际硬件布局配置。

a967gsvj的博客 374

MPI入门基础(程序欣赏)

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

LSEC小陆的博客 1万+

OpenMVS :用 colmap制作自己的数据集 重建(用colmap计算位姿,将位姿转为MVS需要的格式)

数据集制作主要是在windows进行,比较方便。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3325

并行计算 用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

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

weixin_47955824的博客 2051

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

并行程序设计(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、付费专栏及课程。

余额充值