fork download
  1. #include <iostream>
  2. #include <mpi.h>
  3. #define MAX 20
  4. int nprocs = 4;
  5. int myrank;
  6. double a[MAX], b[MAX], c[MAX];
  7. MPI_Status status;
  8. //
  9. //init MPI
  10. int main(int argc, char* argv[])
  11. {
  12. MPI_Init(&argc, &argv);
  13. MPI_Status status;
  14. MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
  15. MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
  16. int value = myrank + 10;
  17. int sum = 0;
  18. MPI_Recv(&sum, 1, MPI_INT, (myrank - 1 + nprocs) / nprocs, 10,
  19. MPI_COMM_WORLD, &status);
  20. sum += value;
  21. MPI_Send(&sum, 1, MPI_INT, (myrank + 1) % nprocs, 10, MPI_COMM_WORLD);
  22. if (myrank == 0)
  23. printf("%d", sum);
  24. MPI_Finalize();
  25. return 0;
  26. }
  27.  
Success #stdin #stdout #stderr 0.26s 39004KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: unexpected symbol in "int nprocs"
Execution halted