gpt4 book ai didi

MPI 重用 MPI_Request

转载 作者:行者123 更新时间:2023-12-04 19:29:53 27 4
gpt4 key购买 nike

将已完成的 MPI_Request 重新用于另一个请求是否安全?我一直在使用 MPI_Request 池来提高性能并且没有错误。但肯定知道会很好。

最佳答案

MPI_Request 类型的变量不是请求对象本身,而只是指向真实 MPI 请求对象的不透明句柄(类似于抽象指针)。为这样的变量分配新值绝不会影响 MPI 对象,只会破坏与它的关联。因此,从某种意义上说,如果程序中不存在对象的句柄,则该对象可能变得不可访问,则不能再将其传递给 MPI 调用。这与丢失指向动态分配的内存块的指针相同,从而泄漏它。

说到异步请求句柄,一旦操作完成,MPI就会销毁请求对象,MPI_Wait*/MPI_Test*将传递的句柄变量设置为 MPI_REQUEST_NULL返回时。另外,调用MPI_Request_free将标记删除请求并将句柄设置为 MPI_REQUEST_NULL返回时。此时,您可以重用该变量并在其中存储不同的请求句柄。

这同样适用于通信器的句柄(类型为 MPI_Comm )、数据类型的句柄(类型为 MPI_Datatype )、减少操作的句柄(类型为 MPI_Op )等等。

关于MPI 重用 MPI_Request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410827/

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