【发布时间】:2022-12-03 13:42:39
【问题描述】:
我使用 LD_PRELOAD 用我自己的函数覆盖 MPI_Irecv 函数来对 MPI_Irecv 函数进行一些调试。
在这里,我的包装函数“myMPI_Irecv.c”代码:
int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
int tag, MPI_Comm comm, MPI_Request * request)
{
int rang_Irecv;
MPI_Comm_rank(comm, &rang_Irecv);
printf(" Calling MPI_Irecv, je suis processeur=%d, source=%d, buffer=%p\n", rang_Irecv,source,buf);
return PMPI_Irecv(buf, count, datatype, source, tag, comm, request);
}
运行我的 MPI 应用程序后(我正在使用 MPICH): 我发现有一些MPI_ANY_SOURCE的调用,因为我打印source的时候发现SOURCE=-2。
我的问题是,如何知道非阻塞接收 MPI_Irecv 的源(发送方)?
先感谢您。
此致,
【问题讨论】:
标签: mpi