问题标签 [communicator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4280 浏览

c - 使用 MPI_COMM_SELF

我发现了一个名为 MPI_COMM_SELF 的 MPI 通信器。问题是,我不知道,它什么时候有用。在我看来,只是每个进程都“认为”自己是根。

你能解释一下它MPI_COMM_SELF到底是如何工作的,在什么情况下它有用吗?

我找到了这个幻灯片,但那里只是简单地提到了通讯器。


我已经尝试过这个“Hello, world”示例,所有进程都返回 0 作为它们的 PID。

0 投票
1 回答
182 浏览

int - 在一个 MPI 应用程序中可以启动的最大任务数

在 C 绑定中,MPI_Comm_size 返回一个int类型值。C中的最大值int是32767。是不是意味着一个通信器最多可以创建32K个进程?但这似乎太小了,因为我知道有些应用程序可以在数百万个内核上运行。我错过了什么?

0 投票
2 回答
514 浏览

python - mpi4py - 获取进程自己的通信器

我们目前正在开发一个 mpi4py 项目,我们希望将进程分组到不同的组中。然后我们将这些组分配给他们自己的传播者。这些步骤由进程 0 完成。

现在的问题是其他进程如何找出它们属于哪个通信器?

请注意,这些组的大小不同,例如,第一组包含 5 个进程,第二组包含 3 个进程。那么,进程 4(在第一组中)如何从第一组中获取通信器。

0 投票
0 回答
656 浏览

fortran - MPI 太多的传播者?

代码的想法是并行打开一个文件,然后每个内核读取该大文件的不同部分。ir_start因此ir_stop每个核心都不同。

我有以下代码(更大代码的一部分):

代码系统崩溃的问题:

在我看来(我可能完全错了)可能有太多的通讯器打开。

问题是我不能CALL MPI_Comm_free(world_comm)q-loop 中做类似的事情,因为它会杀死代码。

有没有办法让每个内核都使用相同的内核world_comm而不创建新内核?

0 投票
0 回答
343 浏览

c - 带有自定义 MPI Communicator 的 MPI_Barrier

我正在尝试为 MPI_COMM_WORLD 中的一部分进程设置 MPI_Barrier,如下所示:

(其中ranks是所需秩的数组,是该数组num的大小) 上面的代码在 MPI_Barrier 处导致 NULL 通信器错误。

我还尝试了以下方法:

color如果当前排名在所需的子集中,则设置为 1,否则设置为 0)上面的代码没有效果,屏障似乎根本不起作用。

任何帮助将不胜感激,谢谢:)

0 投票
1 回答
144 浏览

c++ - 无法编译返回 MPI::Comm 类型对象的函数

要使用 MPI 运行我的软件,我需要创建一个简单的方法来返回MPI::COMM_WORLD.

所以在我的课堂上,我们有:

我应该如何实现该getCommunicator()方法才能返回MPI::COMM_WORLD?当我尝试编译上述内容时,出现以下错误:

0 投票
1 回答
235 浏览

mpi - 创建用于读取文件的 MPI 通信器

我需要一些关于 MPI 传播者的帮助,这是一个我相对较新的主题。

我有一个 MPI 代码,它将从多个输入文件中读取输入。每个进程都会从至少一个文件中读取,大多数会从多个文件中读取。每个文件都会被读取。

我需要为每个文件创建一个通信器。例如,进程 0、1 和 2 从文件“A.dat”中读取,进程 2、3 和 4 从文件“B.dat”中读取,进程 4、5 和 6 从“C.dat”中读取。达”。(实际上会有更多的进程和文件。)所以我需要三个通信器。第一个应包含 procs 0、1 和 2;第二个 2、3 和 4;第三个 4、5 和 6。我不知道如何做到这一点。有谁知道怎么做?

0 投票
1 回答
429 浏览

mpi - Need help understanding MPI_Comm_create

Regarding MPI_Comm_create, the MPI standard says

MPI_COMM_CREATE(comm, group, newcomm)

... The function is collective and must be called by all processes in the group of comm.

I took this to mean that, for instance, if the comm argument is MPI_COMM_WORLD, then all processes must call MPI_COMM_WORLD.

However, I wrote a variation on a code available on the internet demonstrating the use of MPI_Comm_create. It is below. You can see that there are two spots where MPI_Comm_create is called, and not by all processes. And yet the code runs just fine.

Did I get lucky? Did I stumble onto some implementation-dependent feature? Am I misunderstanding the MPI standard? Is the idea that the two calls together result in everyone calling MPI_Comm_create so "at the end of the day" it's OK? Thanks. Here's the code:

0 投票
1 回答
952 浏览

c# - C# Pcap.net 通信

我想问一下为什么我的通讯器接收到发送的帧。我正在尝试使用标志 PacketDeviceOpenAttributes.NoCaptureLocal 来解决此问题以接收通信器,但我仍在接收已发送的帧。谁能知道如何解决这个问题?谢谢你。这是我的代码:

0 投票
2 回答
162 浏览

android - 单击列表片段上的项目时如何将信息传递给片段

我有一个包含项目列表的片段列表 SecondActivityListFragment。如果单击列表中的某个项目,我想将此单击项目的信息传递给另一个名为 ItemViewFragment 的片段。我创建了一个名为 Communicator 的接口类,但我不知道如何传递信息。

SecondActivityListFragment

主要活动

项目视图片段

沟通者