diff --git a/cs677/hw6/src/Makefile b/cs677/hw6/src/Makefile new file mode 100644 index 0000000..a320024 --- /dev/null +++ b/cs677/hw6/src/Makefile @@ -0,0 +1,11 @@ + +FILE := mpi-round-trip +TARGET := $(FILE) + +all: $(TARGET) + +$(TARGET): $(FILE).cc + mpiCC -o $@ $< + +clean: + -rm -f *.o *~ $(TARGET) diff --git a/cs677/hw6/src/mpi-round-trip.cc b/cs677/hw6/src/mpi-round-trip.cc new file mode 100644 index 0000000..23dfcf2 --- /dev/null +++ b/cs677/hw6/src/mpi-round-trip.cc @@ -0,0 +1,30 @@ + +#include +#include +using namespace std; + +int main(int argc, char * argv[]) +{ + int my_rank; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); + + if (my_rank == MASTER) + { + int buf = 0; + MPI_Recv(&buf, sizeof(buf), MPI_CHAR, + MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD); + cout << "Master received " << buf << endl; + } + else + { + int forty_two = 42; + MPI_Send(&forty_two, sizeof(forty_two), MPI_CHAR, + MASTER, 42, MPI_COMM_WORLD); + } + + MPI_Finalize(); + + return 0; +}