程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了最小化海量数据的 MPI 广播大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决最小化海量数据的 MPI 广播?

开发过程中遇到最小化海量数据的 MPI 广播的问题如何解决?下面主要结合日常开发的经验,给出你关于最小化海量数据的 MPI 广播的解决方法建议,希望对你解决最小化海量数据的 MPI 广播有所启发或帮助;

我正在每个进程中制作大量数据,我需要通过 MPI 广播在进程之间共享这些数据,

我怎样才能最小化成本或者有什么算法可以通过 MPI 在进程之间广播海量数据?

解决方法

我怎样才能最小化成本或者有什么广播算法 MPI 处理进程间的海量数据?

请记住MPI_Bcast:

在广播期间,一个进程向所有进程发送相同的数据 在通讯器中

如果这是您想要的,您将不得不依赖底层硬件,并且您正在使用的 MPI 标准的实现有效地实现了 MPI_Bcast 例程。甚至可能发生(取决于您的实施)MPI_Reduce is actually faster than MPI_Bcast。不过,在某些实现中,例如 Open MPI,您可以使用标志

进一步调整 @H_983_19@mPI_Bcast 使用的算法
--mca coll_tuned_use_dynamic_rules 1 --mca coll_tuned_bcast_algorithm 4

另一种选择是尝试使用非阻塞版本的 MPI 广播,即 MPi_ibcast:

将消息从级别为“root”的进程广播给所有其他进程 以非阻塞方式处理通信器

您可以尝试将计算与通信重叠。尽管如此,该计算不应修改 MPI 例程使用的缓冲区(有关原因的更多信息可参见 here)。

,

根据您的网络拓扑,您可以使用技术来最大限度地减少发送大消息的延迟。例如,如果您的拓扑是分层拓扑,则可以通过多个 @H_983_19@mPI_Send 和 @H_983_19@mPI_Recv 操作来实现广播。 在这方面,为了更好地理解分层广播,我建议你看看这个link

除此之外,您还可以使用 MPI 操作的异步(非阻塞)版本来提高传输大数据的性能。

大佬总结

以上是大佬教程为你收集整理的最小化海量数据的 MPI 广播全部内容,希望文章能够帮你解决最小化海量数据的 MPI 广播所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:广播