New*_*oid 5 debugging mpi mpich
我希望多播到不超过4台计算机的组中,MPI_bcast是否仍比多个单播节省大量时间(请注意我的组很小)?
给定机器的数量和这些机器的等级,我编写了以下函数来创建新的通信器。
void createCommunicator(MPI_Comm *NGBRS_WORLD, int num_ngbrs, int *ngbrs_ranks)
{
MPI_Group NGBRS_GROUP, MPI_COMM_GROUP;
int ret = MPI_Comm_group(MPI_COMM_WORLD, &MPI_COMM_GROUP);
printf("RETURNED %d\n", ret);
ret = MPI_Group_incl(MPI_COMM_GROUP, num_ngbrs, ngbrs_ranks, &NGBRS_GROUP);
printf("RETURNED %d\n", ret);
ret = MPI_Comm_create(MPI_COMM_WORLD, NGBRS_GROUP, NGBRS_WORLD);
printf("RETURNED : %d\n", ret);
}
Run Code Online (Sandbox Code Playgroud)
当我调用此函数时,输出为:
RETURNED 0
RETURNED 0
Run Code Online (Sandbox Code Playgroud)
该程序只是挂在MPI_Comm_create
关于可能出什么问题或如何调试问题的任何想法?请注意,我已将ngbrs_ranks动态分配为num_ngbrs大小。
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |