问题标签 [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 投票
5 回答
9218 浏览

mpi - MPI中的通信器和组有什么区别?

我已经阅读了这些术语的定义,我的解释是群体和传播者之间存在一对一的关系。组是一组希望相互通信的进程,而通信器是组的实现。

它是否正确?如果是这样,为什么有两个不同的术语?

0 投票
2 回答
2522 浏览

mpi - 使用 MPI_COMM_split 后进程等级之间的关系

我使用 MPI_Comm_split 来拆分默认的 MPI 通信器。如果最初默认通信器中有 10 个进程,MPI_COMM_WORLD 和,比如说,它们的等级由 id_original 标识。新的通信器由 4 个进程组成,id_original 为 6,7,8,9。这些进程将在新通信器中具有由 id_new 定义的等级。这两个通信器中的进程等级之间的关系是什么。id_original 为 6,7,8,9 的进程会在新的通信器中分别有新的排名 0,1,2,3还是顺序可能不同?

0 投票
3 回答
3705 浏览

mpi - 按主机对 MPI 任务进行分组

我想在集群的每台机器上轻松地独立执行集体通信。假设我有 4 台机器,每台机器有 8 个内核,我的 MPI 程序将运行 32 个 MPI 任务。我想要的是,对于给定的功能:

  • 在每台主机上,只有一个任务执行计算,其他任务在此计算期间不执行任何操作。在我的示例中,4 个 MPI 任务将执行计算,另外 28 个正在等待。
  • 一旦计算完成,每个 MPI 任务将只与本地任务(在同一主机上运行的任务)执行集体通信。

从概念上讲,我知道我必须为每个主机创建一个通信器。我四处搜寻,并没有发现任何明确的做法。我对 MPI 组和沟通者不太满意。这是我的两个问题:

  • 这种行为是否MPI_Get_processor_name足够独特?
  • 更一般地说,你有一段代码这样做吗?
0 投票
1 回答
3240 浏览

c - MPI:获取通信器中的节点数(不是进程)

我正在 SMP 超级计算机上使用 MPI 程序。我想确定哪些进程共享同一个节点,例如通过设置一个整数键,该键在同一个节点上的所有进程中都相等,并且从一个节点到另一个节点不同。然后目标是使用此密钥拆分通信器并让子通信器仅收集同一节点中的进程。

所以函数看起来像

假设一个简单的进程分布,如 node_1 上的 0、1、2、3、node_2 上的 4、5、6、7 等。这是一个简单的公式问题,但我想在没有假设的情况下达到相同的结果关于分布。

我有一个想法如何使用 MPI_Get_processor_name 做到这一点:通过计算名称的哈希并假设没有两个名称将获得相同的哈希(我不喜欢这样,因为如果有一天我有两个名称具有相同的哈希,它会很难跟踪问题),或者跨进程使用某种协议算法(哪一个?我还不知道)。

您将如何做到这一点(如果可能,高效)?

马蒂厄

0 投票
2 回答
1049 浏览

c - 从一个通信器到另一个通信器的 mpi 集体操作

我有一个与 MPI 并行化的应用程序,它被分成许多不同的任务。每个处理器只分配一个任务,分配相同任务的一组处理器分配它自己的通信器。定期地,任务需要同步。目前,同步是通过 MPI_COMM_WORLD 完成的,但这样做的缺点是不能使用集体操作,因为不能保证其他任务会到达该代码块。

作为一个更具体的例子:

我想 MPI_SUM 在 task1 上的一个数组,并让结果出现在 task3 上。有没有一种有效的方法来做到这一点?(如果这是一个愚蠢的问题,我深表歉意,我在创建和使用自定义 MPI 通信器方面没有太多经验)

0 投票
2 回答
10057 浏览

c# - C# .NET AS2 communication

I like to ask for some guidance on this topic of sending and receiving files via AS2 or AS3 communications protocol via a .NET C# implementation. I have search for examples or explanation of how you would implement this communication layer to send and receive EDI documents as well as other types of documents. I have built my own EDI document generator and reader. It's linked to my eCommerce systems. We have been working with VCommerce and CommerceHUB for a number of years. What i can't seem to find much information on is an implementation of what the communication layer looks like for AS2. I realize the second part to all of this is the generation of certificates for encryption and decryption but I think I have an idea on how to implement that or just create the certificates manually if possible. Can you guys point me to anything that can either show me an example of the standards to use to send the HTTP message or something like that? I have used the /n Software for the communications part up until now but I would really like to do this myself so that its 100% integrated. For anyone who needs just the server they are great and worth the cost. Very stable and easy to implement. For me I have grown beyond being able to use them and need to build my own.

Thanks so much for any help.

0 投票
1 回答
310 浏览

c - MPI 星型(轮辐式)通信器的性能是否优于 MPI_COMM_WORLD?

让我们考虑 MPI 应用程序的以下简单场景:根进程广播(MPI_Bcast)一些参数(几十个字节 - 固定大小),然后所有节点开始执行一些计算,然后根收集结果(MPI_Gather- 可能非常大的数据集)。数据被root保存后,程序结束。

在什么情况下(进程数、延迟等)(如果有)使用使用虚拟星形拓扑创建的通信器会提供比使用更好的性能MPI_COMM_WORLD,为什么?通信器是否对实际通道使用延迟初始化(即仅在第一次需要时打开管道、套接字等)。这种行为实现是否依赖?

注意:我使用openmpi1.4.3-2的是纯 C。

0 投票
1 回答
1161 浏览

process - 如何将 MPI_Barrier 与另一个通信器一起使用?

我是 MPI 编程(mpich2 fedora)的新手。我在写是因为,当将 MPI_Barrier 与另一个不同于 MPI_COMM_WORLD 的通信器一起使用时,我得到了死锁。

我做了2个这样的沟通者:

MPI_Comm_split (MPI_COMM_WORLD, 颜色, 等级, &split_comm);

如果我在所有颜色都可以通过的地方放置一个 MPI_Barrier,那就没问题了。

但是如果我把一个 MPI_Barrier 放在只有 color == 1 可以通过的地方,我就会死锁。

如何将 MPI_Barrier 与另一个通信器一起使用?我也在使用 MPI_Bcast ()(与另一个不同的通信器 MPI_COMM_WORLD),但是当没有人调用 MPI_Bcast 时它也没有被阻止。MPI_COMM_WORLD 的不同通信器可以同步您自己的进程吗?

0 投票
1 回答
320 浏览

capture - 与 pcap.net 中断后继续捕获

我正在使用 pcap.net。

我有一个接收数据包的通信器。在某些时候,我调用 Break() 函数来停止捕获。在我停止捕获后,我想在某个时候继续捕获..

我再次尝试使用 RecievePackets(HandlePacket, 0),但我的 GUI 冻结了……我的代码:

有什么帮助吗??谢谢

0 投票
1 回答
746 浏览

c# - pcap.net 通信器在线程停止时缓冲数据包

我正在使用 pcap.net 来捕获数据包。捕获数据包的方法正在新线程中运行。当我想停止/恢复捕获时,我使用 ManualResetEvent 来停止/恢复线程。

它工作正常,问题是当我中断捕获并重新启动它(停止并恢复线程) - 通信器接收到在线程停止期间到来的数据包。我认为这是因为通信器的缓冲区。

是希望通信器在线程停止时不获取数据包,并在线程恢复时再次获取数据包。有什么帮助吗?

我的代码:

非常感谢!