Skip to content
Snippets Groups Projects
barrier.cpp 557 B
Newer Older
  • Learn to ignore specific revisions
  • Ondrej Meca's avatar
    Ondrej Meca committed
    
    #include "mpi.h"
    #include <vector>
    
    int main(int argc, char **argv) {
    	MPI_Init(&argc, &argv);
    
    	int rank, size;
    	MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    	MPI_Comm_size(MPI_COMM_WORLD, &size);
    
    	std::vector<int> data(10);
    	if (rank == 1) {
    		MPI_Recv(data.data(), data.size(), MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
    		printf("data received from %d.\n", 0);
    	}
    	MPI_Barrier(MPI_COMM_WORLD);
    	if (rank == 0) {
    		MPI_Send(data.data(), data.size(), MPI_INT, 1, 0, MPI_COMM_WORLD);
    		printf("data sent to %d.\n", 1);
    	}
    
    	MPI_Finalize();
    	return 0;
    }