gpt4 book ai didi

c - MPI协议(protocol)中的MPI_Comm如何实现?

转载 作者:行者123 更新时间:2023-11-30 15:47:23 26 4
gpt4 key购买 nike

我正在尝试在EPOS操作系统中实现MPI协议(protocol)。好吧,事实上我不明白如何实现MPI_Comm。它被定义为“MPI 用于确定哪些进程参与通信的基本对象”。在一些实现中我在互联网上发现它是作为 typedef int MPI_Comm 实现的,但我怎么知道使用 int MPI_Comm 进行通信涉及哪些进程?任何想法?

谢谢。

最佳答案

似乎有两种方法,几乎​​相同。

  • 第一个是typedef int MPI_Comm,并使用该值作为维护实际信息的某些内部数据结构的索引。

  • 第二个是 typedef struct comm_info* MPI_Comm,其中通信器(或任何其他 MPI 类型)是指向内部结构的直接指针。 OpenMPI 采用这种方法。

使用 int 的优点是,只要内部数据结构同步,在所有处理器上使用相同的索引可能会更容易。

但是,当 OpenMPI 和 MPICH 已经做了这么多并且开源时,为什么还要重新发明轮子呢? MPICH 许可证尤其非常宽松。以至于相当多的供应商都以此为基础建立了自己的商业 MPI 库。查看their license .

关于c - MPI协议(protocol)中的MPI_Comm如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com