fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include "mpi.h"
  5. #define ARRAY_SIZE 1000
  6. int main(int argc,char* argv[])
  7. {
  8. int rank,size;
  9. int i,sum=0,data[ARRAY_SIZE];
  10. int local_sum = 0;
  11. MPI_Init(&argc,&argv);
  12. MPI_Comm_rank(MPI_COMM_WORLD,&rank);
  13. MPI_Comm_size(MPI_COMM_WORLD,&size);
  14.  
  15. srand(rank+1);
  16.  
  17. printf("Generating random nos\n");
  18. for(i=0;i<ARRAY_SIZE;i++)
  19. {
  20. data[i]=rand()%100;
  21. }
  22.  
  23. MPI_Scatter(data,ARRAY_SIZE/size,MPI_INT,data,ARRAY_SIZE/size,MPI_INT,0,MPI_COMM_WORLD);
  24. for(i=0;i<ARRAY_SIZE/size;i++)
  25. {
  26. local_sum += data[i];
  27. }
  28.  
  29. MPI_Reduce(&local_sum,&sum,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD);
  30. if(rank == 0)
  31. {
  32. printf("The sum is : %d",sum);
  33. }
  34. MPI_Finalize();
  35. return 0;
  36. }
Success #stdin #stdout #stderr 0.25s 40776KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: unexpected symbol in "int main"
Execution halted