gpt4 book ai didi

c - 带有源列表的 MPI_Recv

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:29 25 4
gpt4 key购买 nike

是否可以将源列表传递给 MPI_Recv(或等效)调用?目前,我的代码看起来像这样:

do i=nod1,nod2
call mpi_recv(tmp,n,MPI_REAL,MPI_ANY_SOURCE,tag,MPI_COMM_WORLD,status,ierr)
... do stuff with tmp here
call mpi_send(tmp,n,MPI_REAL,status(MPI_SOURCE),tag,MPI_COMM_WORLD,ierr)
enddo

当然,这并不能保证它做我想做的事。 (如果 nod1 在 nod2 可以发送一条消息之前在这里发送两条消息,那么在此迭代期间不会收到 nod2 的消息,这将是糟糕的。)在我的应用程序中,这不会发生,因为 nod1 和 nod2 有其他约束迫使它们彼此同步(足够)......但它让我想知道是否有办法指定允许从中接收的过程列表。

最佳答案

不是这样的。但是,您可以将 MPI_Probe()MPI_ANY_SOURCE 一起使用,然后将 status 对象的 MPI_SOURCE 字段与您要从中接收的进程列表。如果有匹配项,您就可以使用常规阻塞接收继续从该源接收。

关于c - 带有源列表的 MPI_Recv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194197/

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