gpt4 book ai didi

mpi - MPI_* 函数和 PMPI_* 函数之间有什么区别?

转载 作者:行者123 更新时间:2023-12-01 11:21:04 27 4
gpt4 key购买 nike

我正在查看 mpi.h header ,但我对 PMPI_Init 函数感到困惑。它位于 MPI_Init 声明之后,看起来完全一样。但是, Msmpi.dll (例如)没有 MPI_Init 导出,只有 PMPI_Init

这些 PMPI_ 函数是什么?

最佳答案

您正在查看 MPI 分析界面。对于每个 MPI 函数,还有一个类似的 PMPI 函数,只是前缀不同。

作为用户,您应该只调用 MPI 版本而忽略 PMPI 版本。

这是一种机制,允许工具开发人员拦截对 MPI 函数的调用并在内部调用 PMPI 版本。通常这是这样实现的,所有函数都被实现为 PMPI 函数,并且 MPI 函数作为指向它们的弱符号。然后,该工具可以用它们自己的包装器实现替换弱符号,并且仍然在内部调用 PMPI 函数。

// Normal case
user --calls--> libmpi:MPI_Init --redicrects to--> libmpi:PMPI_Init (implementation)

// Tool case
user --calls--> libtool:MPI_Init (does tool things) --calls--> libmpi:PMPI_Init (implementation)

您可以在 MPI standard 的第 14.2 节中找到更多信息。一般来说,我强烈建议查看函数签名等的标准,而不是标题。

关于mpi - MPI_* 函数和 PMPI_* 函数之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43002936/

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