MPI sorter with buffers, missing SnowPlow technique

This commit is contained in:
edoardocoli
2023-12-01 01:57:05 +00:00
parent 7a05f4d1c0
commit c2865d50cf
20 changed files with 1431 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
#include <mpi.h>
#include <iostream>
#include <unistd.h>
int main(int argc, char* argv[])
{
double start, end;
MPI_Init(&argc, &argv); //Initialize the MPI environment //TODO perche qui non (NULL, NULL) ??
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size); //Get the number of processes
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); //Get the number of process
MPI_Barrier(MPI_COMM_WORLD);
start = MPI_Wtime(); //Microsecond precision. Can't use time(), because each process will have a different "zero" time
sleep(30);
MPI_Barrier(MPI_COMM_WORLD);
end = MPI_Wtime();
if(world_rank == 0)
std::cout << "Process (rank " << world_rank+1 << "/" << world_size << "): time of work is " << end-start << "seconds" << std::endl;
MPI_Finalize(); //Clean up the MPI environment
return 0;
}