#include <mpi.h>
#include <simgrid/modelchecker.h>
-
int main(int argc, char **argv)
{
int recv_buff, err, size, rank, i;
//#ifdef HAVE_MC
//MC_assert(recv_buff == size - 1);
//#endif
-
}else{
MPI_Send(&rank, 1, MPI_INT, 0, 42, MPI_COMM_WORLD);
printf("Sent %d to rank 0\n", rank);
int r, cs;
int main(int argc, char **argv){
-
int err, size, rank;
int recv_buff;
MPI_Status status;
int CS_used = 0;
xbt_dynar_t requests = xbt_dynar_new(sizeof(int), NULL);
-
+
/* Initialize MPI */
err = MPI_Init(&argc, &argv);
if(err != MPI_SUCCESS){
#include <mpi.h>
#include <simgrid/modelchecker.h>
-
int main(int argc, char **argv)
{
int x,y, err, size, rank;
#define RELEASE_TAG 2
int main(int argc, char **argv){
-
int err, size, rank;
int recv_buff;
MPI_Status status;
int CS_used = 0;
xbt_dynar_t requests = xbt_dynar_new(sizeof(int), NULL);
-
+
/* Initialize MPI */
err = MPI_Init(&argc, &argv);
if(err != MPI_SUCCESS){
}
}else{
if(!xbt_dynar_is_empty(requests)){
- printf("CS release. Grant to queued requests (queue size: %lu)",
- xbt_dynar_length(requests));
+ printf("CS release. Grant to queued requests (queue size: %lu)", xbt_dynar_length(requests));
xbt_dynar_shift(requests, &recv_buff);
MPI_Send(&rank, 1, MPI_INT, recv_buff, GRANT_TAG, MPI_COMM_WORLD);
CS_used = 1;
while(1){
printf("%d asks the request.\n", rank);
MPI_Send(&rank, 1, MPI_INT, 0, REQUEST_TAG, MPI_COMM_WORLD);
-
+
MPI_Recv(&recv_buff, 1, MPI_INT, 0, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
-
+
printf("%d got the answer. Release it.\n", rank);
MPI_Send(&rank, 1, MPI_INT, 0, RELEASE_TAG, MPI_COMM_WORLD);
-
}
}
int y = 8;
int main(int argc, char **argv) {
-
int recv_buff, size, rank;
MPI_Status status;
-
+
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size); /* Get nr of tasks */
int x;
int main(int argc, char **argv) {
-
int recv_buff, size, rank;
MPI_Status status;
-
+
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size); /* Get nr of tasks */
int y = 0;
int main(int argc, char **argv) {
-
int recv_x, recv_y, size, rank;
MPI_Status status;
-
+
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size); /* Get nr of tasks */
int x = 20;
int main(int argc, char **argv) {
-
int recv_x = 1, size, rank;
MPI_Status status;
MPI_Init(&argc, &argv);
-
+
MPI_Comm_size(MPI_COMM_WORLD, &size); /* Get nr of tasks */
MPI_Comm_rank(MPI_COMM_WORLD, &rank); /* Get id of this process */
-
+
MC_ignore(&(status.count), sizeof(status.count));
if(rank==0){
MPI_Recv(&recv_x, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
}
}else{
-
while (x >= 0) {
if (MC_random(0,1) == 0) {
x -= 1;
}
MPI_Finalize();
-
+
return 0;
}
#include <mpi.h>
#include <simgrid/modelchecker.h>
-
int main(int argc, char **argv)
{
int recv_buff, err, size, rank, i;
MPI_Recv(&recv_buff, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
//printf("Message received from %d\n", recv_buff);
}
-
}else{
MPI_Send(&rank, 1, MPI_INT, 0, 42, MPI_COMM_WORLD);
//printf("Sent %d to rank 0\n", rank);