?? scatter_allgather.c
字號:
#include <mpi.h>
#include <stdio.h>
#include <string.h>
#define MSGLEN 50
main(int argc,char **argv)
{
int i;
int rank, size;
int nchar;
char sendbuf[MSGLEN];
char recvbuf[MSGLEN];
char *realmsg = "Hello there!";
MPI_Status status;
int msglen;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&size);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
if(rank==0)
{
strcpy(sendbuf, realmsg);
}
strcpy(recvbuf, "NUL\0");
msglen = strlen(realmsg)+1;
printf("Before Scatter: on rank %d msg = <%s>\n", rank, recvbuf);
MPI_Scatter(sendbuf,msglen/size,MPI_CHAR,recvbuf,msglen/size,MPI_CHAR,0,MPI_COMM_WORLD);
printf("After Scatter: on rank %d msg = <%s>\n", rank, recvbuf);
MPI_Allgather(sendbuf,msglen,MPI_CHAR,recvbuf,msglen,MPI_CHAR,MPI_COMM_WORLD);
printf(" After ALL Gather: on rank %d msg = <%s>\n",rank,recvbuf);
MPI_Finalize();
exit(0);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -