Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <mpi.h>
- #define N 4
- int main(int argc, char **argv)
- {
- int ierr, id, num, a[N], i, flag;
- MPI_Request request;
- MPI_Status status;
- ierr = MPI_Init(&argc, &argv);
- ierr = MPI_Comm_rank(MPI_COMM_WORLD, &id);
- ierr = MPI_Comm_size(MPI_COMM_WORLD, &num);
- if(id == 0) {
- for(i=0;i<N;i++) {
- a[i] = i + 10;
- }
- MPI_Isend(&a, N, MPI_INT, 1, 123, MPI_COMM_WORLD, &request);
- MPI_Test(&request, &flag, &status);
- printf("FLAG: %d\n", flag);
- }
- if(id == 1) {
- MPI_Recv(&a, N, MPI_INT, 0, 123, MPI_COMM_WORLD, &status);
- for(i=0;i<N;i++) {
- printf("%d\n", a[i]);
- }
- }
- else if(id == num-1)
- {
- printf("Rank: %d, all: %d\n", id, num);
- }
- ierr = MPI_Finalize();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement