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

FPGA实战:手把手教你实现雷达信号数字下变频(DDC)完整流程

本文提供了一份完整的FPGA实现雷达信号数字下变频(DDC)的实战指南。内容涵盖从Matlab行为级仿真到FPGA硬件实现的完整闭环流程,详细讲解了数字混频、滤波、抽取等核心步骤,并分享了基于Vivado的IP核配置、数据位宽量化及资源优化等关键工程实践经验,旨在帮助读者掌握DDC系统的硬件实现与调试。

dog123的博客 341

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

ESP32 IDF开发 应用篇⑲ 空中升级OTA

在实际产品开发过程中,在线升级可以远程解决产品软件开发引入的问题,更好地满足用户需求。OTA(空中)更新是使用 Wi-Fi 连接而不是串行端口将固件加载到 ESP 模块的过程。(1)、ESP32 的 OTA 升级有三种方式:·Arduino IDE:主要用于软件开发阶段,实现不接线固件烧写·Web Browser:通过 Web 浏览器手动提供应用程序更新模块·HTTP Server:自动使用http服务器 - 针对产品应用在三种升级情况下,必须通过串行端口完成第一个固件上传。

lu330274924的博客 3324

ADS2016子电路封装避坑指南:手把手教你制作可复用的自定义Symbol

本文详细介绍了在ADS2016中制作可复用的自定义Symbol的全流程,重点解析了子电路封装的常见问题与解决方案。从电路模块的标准化处理、Hierarchy创建技巧到Symbol视觉优化和库管理策略,帮助工程师提升射频与微波电路设计效率。特别针对Symbol比例适配和引脚优化等核心问题,提供了实用的避坑指南和工程验证方法。

weixin_30275415的博客 212

并行计算——MPI编程

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

qq_52504945的博客 4406

计算机网络技术研究方向有哪些创新点

计算机网络技术方向的创新点众多,这些创新不仅推动了网络技术的不断发展和完善,还为用户提供了更高效、更安全、更便捷的网络服务。- 边缘计算是一种将计算和数据存储推向网络边缘的技术,通过将数据处理和分析的任务分散到网络的各个节点,降低了数据传输的延迟,提高了实时性。- 通过网络自动化工具和技术,可以实现网络配置的自动化、网络故障的自动诊断与修复等功能,降低了网络运维的复杂性和成本。- 通过引入人工智能技术,网络可以实现更智能的流量管理、故障预测和自动修复等功能,提高了网络的性能和稳定性。

Loving_enjoy的博客 1495

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

《手把手教你玩转RTOS操作系统》专栏简介

《手把手教你玩转RTOS操作系统》专栏系统讲解实时操作系统开发,以FreeRTOS为主线,结合RT-Thread和Zephyr对比分析。内容涵盖RTOS基础、任务管理、通信机制、中断处理等核心知识,并配套STM32/ESP32平台实战项目。专栏特色在于零基础友好、实战驱动、多系统对比和行业趋势分析,适合嵌入式开发者进阶RTOS开发能力,解决实际项目中的选型与优化问题。通过完整学习路径,读者可掌握构建高可靠性嵌入式系统的关键技能。

MHD0815的博客 531

云端办公文件存储与访问全攻略:选型、预算、实操一本通

随着远程办公、多设备协作成为常态,“文件云端存储、随时调用” 已成为提升办公效率的核心需求。本文从用户实际场景出发,系统拆解云端存储的选型逻辑、全场景费用预算,重点解答 “文件能否直接在线打开” 的核心疑问,并提供实操技巧与安全保障方案,覆盖个人、小团队(含兼职)、企业全维度需求,帮助不同规模用户快速搭建高效、低成本的云端办公体系。

hy行者勇哥的博客 1240

MPI入门基础(程序欣赏)

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

LSEC小陆的博客 1万+

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 735

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

[27] cuda 应用之 核函数实现图像通道变换

[27] cuda 应用之 核函数实现图像通道变换

yohnyang的博客 202

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

weixin_47955824的博客 2051

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

余额充值