fork download
  1. int main(int argc, char **argv)
  2. {
  3. int rank, size;
  4. char message[100];
  5.  
  6. MPI_Init(&argc, &argv);
  7. MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  8. MPI_Comm_size(MPI_COMM_WORLD, &size);
  9.  
  10. if (size < 2)
  11. {
  12. fprintf(stderr, "This program requires at least 2 MPI processes\n");
  13. MPI_Abort(MPI_COMM_WORLD, 1);
  14. }
  15.  
  16. if (rank == 0)
  17. {
  18. // Process 0 sends a message to Process 1
  19. strcpy(message, "Hello from process 0");
  20. MPI_Send(message, strlen(message) + 1, MPI_CHAR, 1, 0, MPI_COMM_WORLD);
  21. }
  22. else if (rank == 1)
  23. {
  24. // Process 1 receives the message from Process 0
  25. MPI_Recv(message, 100, MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
  26. printf("Received message on process 1: %s\n", message);
  27. }
  28.  
  29. MPI_Finalize();
  30. return 0;
  31. }
  32.  
Success #stdin #stdout #stderr 0.27s 40848KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: unexpected symbol in "int main"
Execution halted