-/* Copyright (c) 2009-2017. The SimGrid Team.
+/* Copyright (c) 2009-2021. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
printf("[%d] After change, the value in the shared buffer is: %" PRIu64"\n", rank, *buf);
+ //try to send/receive shared data, to check if we skip the copies correctly.
+ if(rank==0)
+ MPI_Send(buf, 1, MPI_AINT, 1, 100, MPI_COMM_WORLD);
+ else if (rank ==1)
+ MPI_Recv(buf, 1, MPI_AINT, 0, 100, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+
+ //same thing with an MPI_IN_PLACE collective (no)
+ if (rank == 0)
+ MPI_Scatter(buf, 1, MPI_AINT, MPI_IN_PLACE, -1, MPI_DATATYPE_NULL, 0, MPI_COMM_WORLD);
+ else
+ MPI_Scatter(NULL, -1, MPI_DATATYPE_NULL, buf, 1, MPI_AINT, 0, MPI_COMM_WORLD);
SMPI_SHARED_FREE(buf);
MPI_Finalize();