来自未知来源的 MPI 接收

2024-02-01

我正在 MPI 中实现一个程序,其中主进程(等级 = 0)应该能够接收来自其他进程的请求,这些进程要求只有根才知道的变量值。 如果我按等级 0 进行 MPI_Recv(...),我必须指定向根发送请求的进程的等级,但我无法控制它,因为进程不按顺序运行 1,2,3 ,.... 如何接收来自任何级别的请求并使用发出进程的编号向其发送必要的信息?


这假设您使用的是 C。C++ 和 Fortran 中也有类似的概念。你只需指定MPI_ANY_SOURCE作为源MPI_recv()。状态结构包含消息的实际来源。

int buf[32];
MPI_Status status;
// receive message from any source
MPI_recv(buf, 32, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
int replybuf[];
// send reply back to sender of the message received above
MPI_send(buf, 32, MPI_INT, status.MPI_SOURCE, tag, MPI_COMM_WORLD);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自未知来源的 MPI 接收 的相关文章

  • 使用 mpi 将矩阵写入单个 txt 文件

    我有一个巨大的矩阵 我将它分成一些子矩阵 然后对其进行一些计算 在这些计算之后 我必须将该矩阵写入一个文件中以进行后处理 是否可以将结果写入单个文本文件 我该怎么做 例如我们有一个nxy 方向划分的 ny 矩阵 每个进程有一个 nx秩矩阵
  • MPI 派生类型发送

    我尝试将派生类型发送到处理器 该类型包含来自其他派生类型的对象 我从开始这个例子示例 结构派生数据类型 https computing llnl gov tutorials mpi Derived Data Types 我添加我的代码 代码
  • 使用 CUDA 感知 MPI 的要求

    我想通过 CUDA 感知 MPI 在不同 CUDA 设备之间交换数据 如中所述本文 http devblogs nvidia com parallelforall introduction cuda aware mpi 据我了解 以下代码应
  • 在 Eclipse Indigo 中运行 MPJ Express 时出现“未解决的编译问题”

    我遵循了 Youtube 上关于如何在 IDE 中使用 MPJ Express 运行并行应用程序的教程 我下载了最新版本的 MPJ Express 并使用了 Eclipse Indigo 我确实在我的项目 JAR 文件中包含了 MPI 当我
  • 关于 MPI_Reduce

    就一个问题 如果我使用函数 MPI Reduce 当这是一个动态数组时 只有根可以分配接收缓冲区 例如 int r 10 int yloc y yloc calloc r sizeof int for all processes if I
  • MPI 发送数组的数组

    好的 所以我尝试通过 MPI 发送这样的结构 struct BColumns double B int offset 如果我只是像这样对数据进行一些BS分配 bSet offset myRank bSet B double calloc 2
  • sizeof(MPI_INT) 与 sizeof(int) 不同

    我注意到 int 和 double 的大小与使用函数 MPI Type size MPI INT MPI INT SIZE 计算的大小不同 这是否意味着 sizeof MPI INT 返回错误值 8 通常应该是 4 感谢您的回复 MPI I
  • 信号:MPI C++ 中的分段错误 (11)

    我有一个代码 它计算 MPI 中整数的平均值 include
  • 在 C++ 中使用 MPI 对数组进行排序

    我想使用 MPI 库对随机数数组进行排序 这个想法是使用 MPI Scatterv 切割数组并将其发送到进程 每个进程都应该在本地对其数据量进行排序并将其发送回主进程 MPI Gatherv 主进程应该对部分排序的表进行排序 合并 如果最后
  • MPI_Send 和 MPI_Recv 的行为

    为什么要写这几行代码 if my rank 0 sprintf msg Hello from d of d my rank comm sz if my rank 2 sleep 2 sprintf msg Hello from d of d
  • MPI_Bsend 的缺点?

    我最近遇到了一个死锁 我可以通过使用来解决MPI Bsend代替MPI Send 如果我理解正确的话 MPI Bsend 是一个非阻塞发送 并且可以安全地修改我发送的内容 而不必担心发送操作何时完成 所以 double x 1 MPI Bs
  • MPI中如何获取物理机的数量

    我可以用MPI Comm size获取处理器总数 但是如何获取真实物理机的数量呢 If by 物理机你的意思是一组处理元素 共享公共内存地址空间 然后是 MPI 3 按类型分割操作MPI COMM SPLIT TYPE可用于便携式获取此类机
  • CMake:手动设置 MPI 标头和二进制文件的路径

    我正在开发一个 MPI 应用程序 它需要与 MPI 的特定实现一起运行 我们称之为 MPIvA 在我的工作站上 安装了 MPI 的另一个实现 我们称之为 MPIvB 我的应用程序是使用 CMake 构建的find library MPI 显
  • 使用 MPI 在 C 中发送二维数组块

    如何将二维数组块发送到不同的处理器 假设 2D 数组大小为 400x400 我想将大小为 100X100 的块发送到不同的处理器 这个想法是每个处理器将在其单独的块上执行计算并将其结果发送回第一个处理器以获得最终结果 我在 C 程序中使用
  • OpenMPI 1.4.3 mpirun 主机文件错误

    我正在尝试在 4 个节点上运行一个简单的 MPI 程序 我正在使用在 Centos 5 5 上运行的 OpenMPI 1 4 3 当我使用主机文件 机器文件提交 MPIRUN 命令时 我没有得到任何输出 而是出现空白屏幕 因此 我必须终止这
  • 使用 MPJ Express 发送对象

    我是并行编程的新手 我想用 java 来完成它 我想知道是否可以通过 MPI 发送和接收更复杂的对象 我用的是 MPJ Express 然而 每当我想发送一个对象时 我都会收到 ClassCastException MPI Init arg
  • 使用 MPI 派生数据类型

    我正在学习 Fortran 中的 BCASTing 数据类型 并且有一个代码可以从终端获取两个值并将它们显示在每个进程上 对于整数 整数和整数 实数类型的组合 value1 value2 这是有效的 但是对于整数 实数 8 的组合 它会失败
  • 什么是“收到信号 15”

    什么可能导致 C MPI 程序使用名为的库日晷 CVODE https computation llnl gov casc sundials documentation documentation html 数值 ODE 求解器 在 Gen
  • MPI Alltoallv 还是更好的单独发送和接收? (表现)

    我有许多进程 大约 100 到 1000 个 每个进程都必须将一些数据发送到其他一些进程 比如大约 10 个 通常 但并非总是必要 如果 A 发送到 B B 也会发送到 A 每个进程都知道它必须从哪个进程接收多少数据 所以我可以用MPI A
  • MPI_Comm_Create 挂起而无响应

    我希望多播到不超过 4 台机器的组 MPI bcast 是否仍然比多个单播节省大量时间 请记住我的组规模很小 我编写了以下函数来根据机器的数量和这些机器的等级创建一个新的通信器 void createCommunicator MPI Com

随机推荐

  • 如何在 sbt 0.13 中使用 sbt-scalabuff 插件?

    我正在尝试使用sbt scalabuff 插件 https github com sbt sbt scalabuff 但是sbt一直抱怨找不到插件 插件文档也没有说明解析器 url 该插件是否已弃用或者我的 Scala 版本不受支持 Det
  • 查找对象库vba的VBIDE.Reference.Name

    我发现了如何以编程方式添加引用 https stackoverflow com questions 9879825 how to add a reference programmatically与VBA 这解释了如何使用库的名称以编程方式添
  • 通过 dart2js 进行 Dart 包管理

    我正在学习 Dart 及其依赖管理器pub我很难在这里看到 透过树木看到森林 说我想用聚合物飞镖 https www dartlang org polymer dart 在我的项目中 因此 在我的项目根目录中 我创建以下内容pubspec
  • Twitter bootstrap - 在已打开的模式上打开模式

    这是我的场景 我正在打开一个包含一些记录详细信息的模式窗口 并且有一个 删除 按钮 当用户单击此按钮时 我需要在现有模式上方 上方显示 确认 模式 询问 您确定吗 但是当显示此确认模式时 它不会首先阻止 详细信息 模态 后面 有谁知道我该怎
  • Flutter:绑定尚未初始化

    将 FLutter 升级到3 0 0我在使用时遇到这个错误计算隔离 知道我已经在 main dart 中初始化了 void main async WidgetsFlutterBinding ensureInitialized 我在Flutt
  • 如何让 cscope 在搜索过程中显示完整文件路径

    当我使用以下命令搜索 C 符号或全局定义时cscope 它显示文件名和行号 我想查看完整的文件路径 以便我可以跳转到我的拱门特定文件 例如 当搜索全局定义时 switch to on cscope在 Linux 代码库上构建 我得到 Glo
  • Nodejs:查询中数组的 url.parse 问题

    http domain com action params 1 params 2 params 3 returns query params 1 2 3 params 作为名称而不是params PHP 之后 有点令人惊讶 jQuery 序
  • 自动映射器更新现有对象而不是创建新对象[重复]

    这个问题在这里已经有答案了 有什么办法可以使用吗自动映射器5 1 1更新现有对象而不是创建新对象 例如我们有一个Customer实体和一个CustomerViewModel 我们想更新现有的Customer与CustomerViewMode
  • 如何在 PHP 中通过 GET 请求传递输入名称

    我正在 PHP OOP 中构建一个网站 CMS 在这个 CMS 中 基本上有一个选项可供网站管理员更新其导航菜单项 所以它基本上看起来像这样 打印屏幕 https i stack imgur com UH1SG png 其代码如下
  • Chrome 扩展:Javascript 能否拦截文件下载并解析数据

    我正在编写一个 Chrome 扩展来自动执行我的一项日常任务 该任务的一部分是下载 csv 文件并操作数据 作为自动化的一部分 我想用 Javascript 抓取文件并让脚本操作它 问题是使用 XMLHttpRequest 获取此文件将是一
  • 如何在 SwiftUI 中为按钮创建触觉反馈

    我正在尝试在 SwiftUI 中点击按钮时实现触觉反馈 因此我尝试使用synchronousGesture 但我仍然在挣扎 我无法弄清楚水龙头何时开始 另外 Swift UI 没有实现触觉反馈 所以我想我会从 UIKit 中将它混合起来 我
  • 按两个条件分组的多个箱线图

    我在单个图中制作多个箱线图时遇到了真正的麻烦 我有五个变量 其中三个是数字 两个是因子 我想要所有三个数值变量的箱线图 但按两个因子变量分组 该图应有两组 分别为低和高 三个框为 MM ND 和 BB 图例应包含 MM ND 和 BB 的缩
  • 在pymongo中使用explain("executionStats")进行查询

    我的请求有问题 包括explain 例如 以下请求效果很好 pp pprint col find cuisine Italian name 1 address zipcode 1 address coord 1 explain 的项目清单e
  • 如何使用Jetpack compose实现交错网格布局?

    据我所知 我们只能使用Rows and Columns in Jetpack Compose显示列表 如何实现如下图所示的交错网格布局 它的正常实现使用Recyclerview交错网格布局管理器非常简单 但如何在 Jetpack Compo
  • clickhouse 将采样缩减为 OHLC 时间条间隔

    对于一张桌子 例如包含日期 价格时间序列 每个价格例如毫秒 如何将其下采样为具有时间间隔的开高低收 ohlc 行组 例如分钟 虽然使用数组的选项可以工作 但这里最简单的选项是使用按时间间隔分组的组合min max argMin argMax
  • 相当于 Akka,但适用于 .NET(并发框架)

    有没有相当于Akka http akka io 但对于 NET http doc akka io use cases http doc akka io use cases 这是 我的 正在进行的 NET Akka actor 端口 编辑 该
  • 如何使用 jquery 检查选​​择元素是否仍然“打开”/活动

    无论如何 我是否可以通过 jQuery 检测选择表单元素当前是否处于活动状态 我创建了这个小提琴来演示这个问题 http jsfiddle net E2PhT 2 http jsfiddle net E2PhT 2 当您将鼠标悬停在 搜索
  • 如何使用 PostgreSQL 计数估计来加速 Django 的管理页面?

    众所周知 当数据库表有很多行时 Django 的管理列表视图会变得相当慢 这是因为 Django 分页器默认使用 慢 PostgreSQLCOUNT query 因为估计对我们来说很好 而且速度要快得多 例如 SELECT reltuple
  • 如何在 OpenCV 中将轮廓分割为开放弧

    I have the image below and I need to split the contour to create various 30 degrees arc which I then need to fit a circl
  • 来自未知来源的 MPI 接收

    我正在 MPI 中实现一个程序 其中主进程 等级 0 应该能够接收来自其他进程的请求 这些进程要求只有根才知道的变量值 如果我按等级 0 进行 MPI Recv 我必须指定向根发送请求的进程的等级 但我无法控制它 因为进程不按顺序运行 1