fork download
  1. #include "mpi.h"
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char** argv) {
  5. int rank;
  6. double start, end;
  7. char message[100000]; // Розмір повідомлення можна змінювати для перевірки залежності часу
  8.  
  9. MPI_Init(&argc, &argv);
  10. MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  11.  
  12. for (int len = 1; len <= 100000; len *= 10) {
  13. if (rank == 0) {
  14. start = MPI_Wtime();
  15. MPI_Send(message, len, MPI_CHAR, 1, 0, MPI_COMM_WORLD);
  16. MPI_Recv(message, len, MPI_CHAR, 1, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
  17. end = MPI_Wtime();
  18. printf("Довжина повідомлення: %d, Час: %f секунд\n", len, end - start);
  19. }
  20. else if (rank == 1) {
  21. MPI_Recv(message, len, MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
  22. MPI_Send(message, len, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
  23. }
  24. }
  25.  
  26. MPI_Finalize();
  27. return 0;
  28. }
Success #stdin #stdout #stderr 0.32s 40628KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: unexpected symbol in "int main"
Execution halted